Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozšíření Visual Studio Code pro Azure Cognitive Search, dříve ve verzi náhledu, se nepřesunulo k obecné dostupnosti a bylo k 1. listopadu 2022 ukončeno.
I když rozšíření už není dostupné na Azure Marketplace, kód je opensourcový na adrese https://github.com/microsoft/vscode-azurecognitivesearch. Nástroj můžete naklonovat a upravit pro vlastní použití.
Pokud používáte rozšíření, tento článek vysvětluje, jak interaktivně formulovat požadavky REST API pomocí rozhraní REST API služby Azure Cognitive Search.
Požadavky
Pro použití rozšíření jsou vyžadovány následující služby a nástroje.
Instalace rozšíření
Podívejte se na soubor Readme na GitHubu.
Připojení k vašemu předplatnému
Spusťte Visual Studio COde.
Vyberte Přihlásit se k Azure... a přihlaste se ke svému účtu Azure.
Zkontrolujte svá předplatná. Na následujícím snímku obrazovky je název předplatného Visual Studio Enterprise a obsahuje jednu vyhledávací službu s názvem azsearch-service.
Pokud chcete omezit zobrazená předplatná, otevřete paletu příkazů (Ctrl+Shift+P nebo Cmd+Shift+P) a vyhledejte Azure nebo Vyberte předplatná. K dispozici jsou také příkazy pro přihlášení a odhlášení z účtu Azure.
Když rozbalíte vyhledávací službu, uvidíte stromové položky pro každou položku kognitivního vyhledávání: indexy, zdroje dat, indexery, sady dovedností, mapy synonym a aliasy.
Tyto položky stromové struktury je možné rozšířit a zobrazit všechny prostředky, které máte ve vyhledávací službě.
1. Vytvoření indexu
K vytvoření indexu použijte rozhraní REST API pro vytvoření indexu.
S rozšířením VS Code se musíte starat jenom o tělo požadavku. Pro účely tohoto rychlého startu poskytneme ukázkovou definici indexu a odpovídající dokumenty.
Definice indexu
Následující definice indexu je ukázkové schéma pro fiktivní hotely.
Kolekce fields definuje strukturu dokumentů v indexu vyhledávání. Každé pole má datový typ a řadu dalších atributů, které určují způsob použití pole.
{
"name": "hotels-quickstart",
"fields": [
{
"name": "HotelId",
"type": "Edm.String",
"key": true,
"filterable": true
},
{
"name": "HotelName",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": true,
"facetable": false
},
{
"name": "Description",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"analyzer": "en.lucene"
},
{
"name": "Description_fr",
"type": "Edm.String",
"searchable": true,
"filterable": false,
"sortable": false,
"facetable": false,
"analyzer": "fr.lucene"
},
{
"name": "Category",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Tags",
"type": "Collection(Edm.String)",
"searchable": true,
"filterable": true,
"sortable": false,
"facetable": true
},
{
"name": "ParkingIncluded",
"type": "Edm.Boolean",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "LastRenovationDate",
"type": "Edm.DateTimeOffset",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Rating",
"type": "Edm.Double",
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Address",
"type": "Edm.ComplexType",
"fields": [
{
"name": "StreetAddress",
"type": "Edm.String",
"filterable": false,
"sortable": false,
"facetable": false,
"searchable": true
},
{
"name": "City",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "StateProvince",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "PostalCode",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
},
{
"name": "Country",
"type": "Edm.String",
"searchable": true,
"filterable": true,
"sortable": true,
"facetable": true
}
]
}
],
"suggesters": [
{
"name": "sg",
"searchMode": "analyzingInfixMatching",
"sourceFields": [
"HotelName"
]
}
]
}
Chcete-li vytvořit nový index, klikněte pravým tlačítkem myši na Indexy a pak vyberte Vytvořit nový index. Zobrazí se editor s podobným názvem indexes-new-28c972f661.azsindex .
Do okna vložte definici indexu shora. Uložte soubor a po zobrazení výzvy vyberte Nahrát , pokud chcete aktualizovat index. Tento krok vytvoří index a přidá ho do stromového zobrazení vlevo.
Pokud dojde k potížím s definicí indexu, měla by se zobrazit chybová zpráva podobná následující.
Pokud dojde k chybě, opravte problém a soubor uložte znovu.
2. Načtení dokumentů
V rozhraní REST API je vytvoření indexu a naplnění indexu samostatnými kroky. Index ve službě Azure Cognitive Search obsahuje všechna prohledávatelná data. V tomto rychlém startu jsou data poskytována jako dokumenty JSON. Pro tuto úlohu se používá rozhraní REST API Pro přidání, aktualizaci nebo odstranění dokumentů .
Přidání nových dokumentů do indexu:
hotels-quickstartRozbalte index, který jste vytvořili. Klikněte pravým tlačítkem na Dokumenty a vyberte Vytvořit nový dokument.
Měli byste vidět editor JSON, který odvodil schéma indexu.
Vložte níže uvedený kód JSON a pak soubor uložte. Výzva vás vyzve k potvrzení změn. Výběrem Nahrát uložte změny.
{ "HotelId": "1", "HotelName": "Secret Point Motel", "Description": "The hotel is ideally located on the main commercial artery of the city in the heart of New York. A few minutes away is Time's Square and the historic centre of the city, as well as other places of interest that make New York one of America's most attractive and cosmopolitan cities.", "Category": "Boutique", "Tags": [ "pool", "air conditioning", "concierge" ], "ParkingIncluded": false, "LastRenovationDate": "1970-01-18T00:00:00Z", "Rating": 3.60, "Address": { "StreetAddress": "677 5th Ave", "City": "New York", "StateProvince": "NY", "PostalCode": "10022", "Country": "USA" } }Tento postup opakujte pro tři zbývající dokumenty:
Dokument 2:
{ "HotelId": "2", "HotelName": "Twin Dome Motel", "Description": "The hotel is situated in a nineteenth century plaza, which has been expanded and renovated to the highest architectural standards to create a modern, functional and first-class hotel in which art and unique historical elements coexist with the most modern comforts.", "Category": "Boutique", "Tags": [ "pool", "free wifi", "concierge" ], "ParkingIncluded": false, "LastRenovationDate": "1979-02-18T00:00:00Z", "Rating": 3.60, "Address": { "StreetAddress": "140 University Town Center Dr", "City": "Sarasota", "StateProvince": "FL", "PostalCode": "34243", "Country": "USA" } }Dokument 3:
{ "HotelId": "3", "HotelName": "Triple Landscape Hotel", "Description": "The Hotel stands out for its gastronomic excellence under the management of William Dough, who advises on and oversees all of the Hotel’s restaurant services.", "Category": "Resort and Spa", "Tags": [ "air conditioning", "bar", "continental breakfast" ], "ParkingIncluded": true, "LastRenovationDate": "2015-09-20T00:00:00Z", "Rating": 4.80, "Address": { "StreetAddress": "3393 Peachtree Rd", "City": "Atlanta", "StateProvince": "GA", "PostalCode": "30326", "Country": "USA" } }Dokument 4:
{ "HotelId": "4", "HotelName": "Sublime Cliff Hotel", "Description": "Sublime Cliff Hotel is located in the heart of the historic center of Sublime in an extremely vibrant and lively area within short walking distance to the sites and landmarks of the city and is surrounded by the extraordinary beauty of churches, buildings, shops and monuments. Sublime Cliff is part of a lovingly restored 1800 palace.", "Category": "Boutique", "Tags": [ "concierge", "view", "24-hour front desk service" ], "ParkingIncluded": true, "LastRenovationDate": "1960-02-06T00:00:00Z", "Rating": 4.60, "Address": { "StreetAddress": "7400 San Pedro Ave", "City": "San Antonio", "StateProvince": "TX", "PostalCode": "78216", "Country": "USA" } }
V tomto okamžiku byste měli vidět všechny čtyři dokumenty dostupné v části Dokumenty.
3. Hledání indexu
Teď, když index obsahuje obsah, můžete vydávat dotazy pomocí rozhraní REST API pro vyhledávání dokumentů:
Klikněte pravým tlačítkem myši na index, který chcete vyhledat, a vyberte Hledat. Tento krok otevře editor s názvem podobným
sandbox-b946dcda48.azs.
Jednoduchý dotaz je automaticky vyplněný. Stisknutím kombinace kláves Ctrl+Alt+R nebo Cmd+Alt+R odešlete dotaz. Výsledky se zobrazí v okně vlevo.
Příkladové dotazy
Vyzkoušejte několik dalších příkladů dotazů, abyste získali pocit syntaxe. Níže najdete čtyři další dotazy, které můžete vyzkoušet. Do stejného editoru můžete přidat více dotazů. Když stisknete Ctrl+Alt+R nebo Cmd+Alt+R, linie kurzoru určuje, který dotaz se odešle.
V prvním dotazu prohledáme boutique a select pouze určitá pole. Osvědčeným postupem je pouze select pole, která potřebujete, protože stažení nepotřebných dat může do dotazů přidat latenci. Dotaz také nastaví $count=true , aby vrátil celkový počet výsledků včetně výsledků hledání.
// Query example 1 - Search `boutique` with select and return count
search=boutique&$count=true&$select=HotelId,HotelName,Rating,Category
V dalším dotazu určíme hledaný termín wifi a zahrneme také filtr, který vrátí pouze výsledky, ve kterých je stav roven 'FL'. Výsledky jsou také objednány hotelovým hotelem Rating.
// Query example 2 - Search with filter, orderBy, select, and count
search=wifi&$filter=Address/StateProvince eq 'FL'&$select=HotelId,HotelName,Rating,Address/StateProvince&$orderby=Rating desc
Dále je hledání omezeno na jedno prohledávatelné pole pomocí parametru searchFields . To je skvělá možnost, jak usnadnit dotaz, pokud víte, že vás zajímají jenom shody v určitých polích.
// Query example 3 - Limit searchFields
search=sublime cliff&$select=HotelId,HotelName,Rating&searchFields=HotelName
Další běžnou možností zahrnutí do dotazu je facets. Facety umožňují vytvářet filtry ve vaší aplikaci, aby uživatelé snadno věděli, na jaké hodnoty můžou filtrovat.
// Query example 4 - Take the top two results, and show only HotelName and Category in the results
search=*&$select=HotelId,HotelName,Rating&searchFields=HotelName&facet=Category
Otevření indexu na portálu
Pokud chcete zobrazit vyhledávací službu na portálu, klikněte pravým tlačítkem na název vyhledávací služby a vyberte Otevřít na portálu.
Vyčistěte zdroje
Když pracujete ve vlastním předplatném, je vhodné na konci projektu zjistit, jestli prostředky, které jste vytvořili, stále potřebujete. Prostředky ponechané v provozu mohou způsobit výdaje. Prostředky můžete odstranit jednotlivě nebo odstranit skupinu prostředků a odstranit tak celou sadu prostředků.
Prostředky můžete najít a spravovat na portálu pomocí odkazu Všechny prostředky nebo skupiny prostředků v levém navigačním podokně.
Pokud používáte bezplatnou službu, mějte na paměti, že jste omezeni na tři indexy, indexery a zdroje dat. Jednotlivé položky na portálu můžete odstranit, abyste zůstali pod limitem.
Další kroky
Teď, když víte, jak provádět základní úlohy, můžete přejít k dalším voláním rozhraní REST API pro pokročilejší funkce, jako jsou indexery nebo nastavení kanálu rozšiřování , který přidává transformace obsahu do indexování. Pro další krok doporučujeme následující odkaz: