Dotazování ve službě Azure AI Vyhledávač

Poznámka:

Azure AI Vyhledávač je k dispozici prostřednictvím portálu Azure, rozhraní REST API a Sady Azure SDK. Podporuje také Foundry IQ, spravovanou znalostní vrstvu, která transformuje podnikový obsah na opakovaně použitelné znalostní báze s podporou oprávnění pro agenty na portálu Microsoft Foundry.

Azure AI Vyhledávač podporuje konstrukty dotazů pro širokou škálu scénářů, od bezplatného textového vyhledávání až po vzory dotazů s vysokou určitou hodnotou až po vektorové vyhledávání. Všechny dotazy se spouštějí přes index vyhledávání, který ukládá prohledávatelný obsah.

Typy dotazů

Formulář dotazu Prohledávatelný obsah Popis
Fulltextové vyhledávání Invertované indexy tokenizovaných termínů Fulltextové dotazy procházejí invertované indexy, které jsou optimalizované pro rychlé prohledávání a v nichž lze najít shodu v potenciálně libovolném poli napříč libovolným počtem prohledávaných dokumentů. Text se analyzuje a tokenizuje pro fulltextové vyhledávání.
Vektorové vyhledávání Vektorové indexy generovaných embeddingů. Vektorové dotazy iterují přes vektorová pole v indexu vyhledávání.
Hybridní vyhledávání Všechny výše uvedené položky v jednom indexu vyhledávání. Kombinuje vyhledávání textu a vektorové vyhledávání v jednom požadavku dotazu. Vyhledávání textu funguje u obsahu ve formátu prostého textu v prohledávatelných polích. Filtry se vztahují na filtrovatelná pole. Vektorové vyhledávání funguje na vektorových polích.
Agentické vyhledávání Všechny výše uvedené položky v jednom indexu vyhledávání. Toto je alternativní cesta načítání na Azure AI Vyhledávač, která volitelně používá velké jazykové modely pro plánování dotazů (Preview). Odpověď je určená pro použití agentem, kde agent namísto klientského kódu vyhledávací aplikace koordinuje odpověď předanou uživateli.
Ostatní Prostý text a obsah čitelný pro člověka Nezpracovaný obsah, extrahovaný doslovný text ze zdrojových dokumentů, podpora filtrů a porovnávání vzorů dotazů, jako je geoprostorové vyhledávání, přibližné vyhledávání a hledání v polích.

Zbývající část tohoto článku se zaměřuje na poslední kategorii: klasické dotazy, které pracují s prostým textem a obsahem čitelným pro člověka, extrahované beze změny z původního zdroje, používané pro filtry a další specializované formuláře dotazů. Pokud vytváříte tradiční vyhledávací aplikaci, která nepoužívá AI, vysvětluje tato část metody dotazu, které můžete implementovat v klientském kódu.

Automatické dokončování a navrhované dotazy

Automatické dokončování nebo navrhované výsledky jsou alternativy search, které postupně iniciují dotazy na základě po částech zadávaných řetězců (po každém znaku) ve stylu vyhledávání během psaní. Můžete použít parametry autocomplete a suggestions společně, nebo každý zvlášť, jak je popsáno v tomto návodu, ale nemůžete je použít s search. Dokončené termíny i navrhované dotazy se odvozují z obsahu indexu. Modul nikdy nevrátí řetězec nebo návrh, který v indexu neexistuje. Další informace najdete v tématu Automatické dokončování (REST API) a návrhy (REST API).

Filtry se běžně používají v aplikacích založených na službě Azure AI Vyhledávač. Na stránkách aplikace se filtry často vizualizují jako facety v navigačních strukturách odkazů pro uživatelsky řízené filtrování. Filtry se také používají interně k zveřejnění řezů indexovaného obsahu. Vyhledávací stránku můžete například inicializovat pomocí filtru kategorie produktu nebo jazyka, pokud index obsahuje pole v angličtině i francouzštině.

Můžete také potřebovat filtry k vyvolání specializovaného formuláře dotazu, jak je popsáno v následující tabulce. Filtr můžete použít s nespecifikovaným vyhledáváním (search=*) nebo řetězcem dotazu, který obsahuje termíny, fráze, operátory a vzory.

Scénář filtrování Popis
Filtry rozsahů V Azure AI Vyhledávač se dotazy rozsahu vytvářejí pomocí parametrufilter. Další informace a příklady najdete v příkladu filtru rozsahu.
Fasetová navigace Ve struktuře navigace s facety můžou uživatelé vybrat facety. Při podpoře filtry se výsledky hledání zúží s každým kliknutím. Každá faseta je podložena filtrem, který vylučuje dokumenty, jež už neodpovídají kritériím poskytnutým fasetou.

Poznámka:

Text použitý ve výrazu filtru se během zpracování dotazu neanalyzuje. U textového vstupu se předpokládá, že se jedná o doslovný vzor znaků s rozlišováním velkých a malých písmen, který buď proběhne úspěšně, nebo selže ve shodě. Výrazy filtru se vytvářejí pomocí syntaxe OData a předávají se v parametru filter ve všech filtrovatelných polích v indexu. Další informace najdete v tématu Filtry ve službě Azure AI Vyhledávač.

Geoprostorové vyhledávání vyhledává pomocí souřadnic zeměpisné šířky a délky umístění pro "najít poblíž" nebo mapové vyhledávání. Ve službě Azure AI Vyhledávač můžete geoprostorové vyhledávání implementovat pomocí následujícího postupu:

  1. Definujte filtrovatelné pole typu Edm.GeographyPoint nebo Collection(Edm.GeographyPoint).
  2. Ověřte, že příchozí dokumenty obsahují odpovídající souřadnice.
  3. Po dokončení indexování vytvořte dotaz, který používá filtr a geoprostorovou funkci.

Geoprostorové vyhledávání používá kilometry pro vzdálenost. Souřadnice jsou zadány v tomto formátu: (longitude, latitude).

Tady je příklad filtru pro geoprostorové vyhledávání. Tento filtr najde další Location pole v indexu vyhledávání, která mají souřadnice v okruhu 300 kilometrů od zeměpisného bodu (v tomto příkladu Washington D.C.). Vrátí ve výsledku informace o adrese a obsahuje volitelnou facets klauzuli pro samoobslužnou navigaci na základě umístění.

POST https://{{searchServiceName}}.search.windows.net/indexes/hotels-vector-quickstart/docs/search?api-version=2026-04-01
{
    "count": true,
    "search": "*",
    "filter": "geo.distance(Location, geography'POINT(-77.03241 38.90166)') le 300",
    "facets": [ "Address/StateProvince"],
    "select": "HotelId, HotelName, Address/StreetAddress, Address/City, Address/StateProvince",
    "top": 7
}

Další informace a příklady najdete v příkladu geoprostorové vyhledávání.

Vyhledávání dokumentu

Na rozdíl od dříve popsaných formulářů dotazu tento formulář načte jeden vyhledávací dokument podle ID bez odpovídajícího vyhledávání nebo prohledávání indexu. Vyžádán a vrácen je pouze ten jeden dokument. Když uživatel vybere položku ve výsledcích hledání, typickou reakcí je načtení dokumentu a vyplnění stránky podrobností jednotlivými poli, a operace vyhledání dokumentu tuto operaci podporuje.

Rozšířené vyhledávání: fuzzy, zástupný znak, blízkost, regulární výraz

Rozšířený formulář dotazu závisí na úplném analyzátoru Lucene a operátorech, které aktivují konkrétní chování dotazu.

Typ dotazu Využití Příklady a další informace
Hledání podle polí search parametr queryType=full Vytvořte složený výraz dotazu, který cílí na jedno pole.
Příklad hledání v poli
Vyhledávání přibližných shod search parametr queryType=full Shodovat termíny s podobnými konstrukcemi nebo pravopisem
Příklad vyhledávání přibližných shod
Hledání v blízkosti search parametr queryType=full Najděte termíny, které jsou v dokumentu blízko sebe.
Příklad hledání podle blízkosti
Posílení termínu search parametr queryType=full Zařaďte dokument výše, pokud obsahuje zvýrazněný termín, ve srovnání s ostatními, které ho neobsahují.
Posílení významu termínu
Hledání regulárních výrazů search parametr queryType=full Porovná se na základě obsahu regulárního výrazu.
Příklad regulárního výrazu
Vyhledávání pomocí zástupných znaků nebo podle předpony search parametr s parametrem * nebo ?, queryType=full Porovná se na základě předpony, více znaků (*) nebo jednoho znaku (?).
Příklad hledání pomocí zástupných znaků

Další kroky

Podrobnější pohled na implementaci dotazů najdete v příkladech pro každou syntaxi. Pokud s fulltextovým vyhledáváním začínáte, můžete se také dozvědět více o tom, co dotazovací modul dělá.