Prohledání indexu
Po vytvoření a naplnění indexu se na něj můžete dotazovat a vyhledat informace v indexovaného obsahu dokumentu. I když byste mohli načíst položky indexu na základě jednoduché shody hodnot polí, většina vyhledávacích řešení používá k dotazování indexu sémantiku fulltextového vyhledávání .
Fulltextové vyhledávání
Fulltextové vyhledávání popisuje řešení hledání, která analyzují obsah dokumentu založený na textu a hledají termíny dotazu. Fulltextové vyhledávací dotazy ve službě Azure AI Search jsou založené na syntaxi dotazů Lucene , která poskytuje bohatou sadu operací dotazů pro vyhledávání, filtrování a řazení dat v indexech. Azure AI Search podporuje dvě varianty syntaxe Lucene:
- Jednoduché – intuitivní syntaxe, která usnadňuje provádění základních hledání, která odpovídají termínům literálového dotazu odeslaným uživatelem.
- Úplná – rozšířená syntaxe, která podporuje komplexní filtrování, regulární výrazy a další sofistikovanější dotazy.
Klientské aplikace odesílají dotazy do služby Azure AI Search zadáním vyhledávacího výrazu spolu s dalšími parametry, které určují, jak se výraz vyhodnotí a vrátí výsledky. Mezi běžné parametry odeslané s dotazem patří:
- search – hledaný výraz, který obsahuje nalezené termíny.
- queryType – Syntaxe Lucene, která se má vyhodnotit (jednoduchá nebo úplná).
- searchFields – pole indexu, která se mají prohledávat.
- select – pole, která mají být zahrnuta do výsledků.
- searchMode – kritéria pro zahrnutí výsledků na základě více hledaných termínů. Předpokládejme například, že hledáte pohodlný hotel. Hodnota searchMode libovolného vrátí dokumenty, které obsahují "pohodlné", "hotel" nebo obojí; zatímco hodnota searchMode všech omezuje výsledky na dokumenty, které obsahují "pohodlné" i "hotel".
Zpracování dotazů se skládá ze čtyř fází:
- Analýza dotazů Hledaný výraz se vyhodnotí a rekonstruuje jako strom odpovídajících poddotazů. Poddotazy můžou zahrnovat dotazy na termíny (hledání konkrétních jednotlivých slov ve vyhledávacím výrazu – například hotel), dotazy na frázi (hledání frází s více termíny zadanými v uvozovkách ve vyhledávacím výrazu – například "parkování zdarma") a dotazy předpony (hledání termínů s zadanou předponou – například air*, které by odpovídaly dýchacím cestě, klimatizaci a letišti).
- Lexikální analýza – termíny dotazů se analyzují a upřesňuje na základě lingvistických pravidel. Text se například převede na malá písmena a odeberou se žádné zásadní stopwords (například "the", "a", "is" atd.). Slova se pak převedou na jejich kořenový tvar (například "pohodlné" na "pohodlí") a složená slova se rozdělí do základních termínů.
- Načtení dokumentu – Termíny dotazu se shodují s indexovanými termíny a identifikuje se sada odpovídajících dokumentů.
- Bodování – Každému výsledku se přiřadí skóre relevance na základě výpočtu četnosti/inverzní frekvence dokumentů (TF/IDF).