Přidání kontroly pravopisu do dotazů v Azure AI Vyhledávač (Preview)

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.

Důležité

Na funkce, možnosti nebo vlastnosti označené jako (Preview) se nevztahuje smlouva o úrovni služeb, nejsou doporučené pro produkční úlohy a mohou se změnit nebo být omezeny dříve, než budou obecně k dispozici. Podmínky Azure AI Vyhledávač Preview platí pro všechny funkce ve verzi Preview, ať už jsou samostatné nebo součástí obecně dostupné funkce.

Můžete zlepšit relevantnost výsledků tím, že opravíte pravopis slov v dotazu, než se dostanou do vyhledávače. Parametr speller (Preview) je podporovaný pro všechny typy dotazů textu (bez vektoru) a je dostupný prostřednictvím portálu Azure, rozhraní REST API ve verzi Preview a beta verzí knihoven Azure SDK.

Požadavky

  • Vyhledávací služba na úrovni Basic nebo vyšší v libovolné oblasti.

  • Existující index vyhledávání s obsahem v podporovaném jazyce.

  • Požadavek na dotaz, který má speller=lexicon a queryLanguage je nastavený na podporovaný jazyk. Kontrola pravopisu funguje u řetězců předaných v parametru search . Nepodporuje se pro filtry, vyhledávání přibližných shod, vyhledávání zástupných znaků, regulární výrazy nebo vektorové dotazy.

Použijte klienta vyhledávání, který podporuje rozhraní API verze Preview v dotazovém požadavku. Můžete použít klienta REST nebo beta verze Sady Azure SDK.

Klientská knihovna Verze
REST API Verze 2020-06-30-Předběžná a novější. Doporučujeme nejnovější rozhraní API verze Preview: 2026-08-01-preview
Azure SDK pro .NET verze 11.7.0-beta.4
Azure SDK pro Java verze 11.8.0-beta.7
Azure SDK pro JavaScript verze 11.3.0-beta.8
Azure SDK pro Python verze 11.6.0b12

Následující příklad používá index ukázek hotelů k předvedení opravy pravopisu v jednoduchém textovém dotazu. Bez opravy pravopisu dotaz vrátí nulové výsledky. Při opravě vrátí dotaz jeden výsledek pro rodinný resort Johnsona.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "famly acitvites",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "queryType": "simple",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Oprava pravopisu s kompletním Lucene

K opravě pravopisu dochází u jednotlivých termínů dotazu, které procházejí analýzou textu, což je důvod, proč můžete použít parametr kontroly pravopisu s některými dotazy Lucene, ale ne jinými.

  • Nekompatibilní formuláře dotazů, které obcházejí analýzu textu, zahrnují: zástupný znak, regulární výraz, přibližné chyby.
  • Mezi kompatibilní formuláře dotazů patří: vyhledávání podle pole, vyhledávání podle blízkosti, posilování výrazu

V tomto příkladu se používá vyhledávání ve poli Category s úplnou syntaxí Lucene a chybně zadaným termínem dotazu. Zahrnutím kontroly pravopisu je překlep v "Suiite" opraven a dotaz je úspěšný.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "Category:(Resort and Spa) OR Category:Suiite",
    "queryType": "full",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "select": "Category",
    "count": true
}

Opravy pravopisu pomocí sémantického řazení

Tento dotaz s překlepy v každém termínu kromě jednoho prochází opravami pravopisu, aby vrátil relevantní výsledky. Další informace najdete v tématu Konfigurace sémantického rankeru.

POST https://[service name].search.windows.net/indexes/hotels-sample/docs/search?api-version=2026-08-01-preview
{
    "search": "hisotoric hotell wiht great restrant nad wiifi",
    "queryType": "semantic",
    "speller": "lexicon",
    "queryLanguage": "en-us",
    "searchFields": "HotelName,Tags,Description",
    "select": "HotelId,HotelName,Description,Category,Tags",
    "count": true
}

Podporované jazyky

Platné hodnoty queryLanguage lze najít v následující tabulce, zkopírované ze seznamu podporovaných jazyků (referenční dokumentace k rozhraní REST API).

Jazyk dotazovací jazyk
Angličtina [EN] EN, EN-US (výchozí)
Španělština [ES] ES, ES-ES (výchozí)
Francouzský jazyk [FR] FR, FR-FR (výchozí)
Němčina [DE] DE, DE-DE (výchozí)
Nizozemština [NL] NL, NL-BE, NL-NL (výchozí)

Poznámka

Dříve, když byl sémantický ranker ve verzi Preview, byl parametr queryLanguage také použit pro sémantické řazení. Sémantický ranker je teď nezávislý na jazyce.

Důležité informace o analyzátoru jazyka

Indexy, které obsahují neanglický obsah, často používají analyzátory jazyka v jiných než anglických polích k použití lingvistických pravidel nativního jazyka.

Při přidávání kontroly pravopisu do obsahu, který prochází také analýzou jazyka, můžete dosáhnout lepších výsledků pomocí stejného jazyka pro každý krok indexování a zpracování dotazů. Pokud se například obsah pole indexoval pomocí analyzátoru jazyka "fr.microsoft", měly by dotazy a kontrola pravopisu používat nějaký druh francouzského lexikonu nebo jazykové knihovny.

Rekapitulace způsobu použití jazykových knihoven v Azure AI Vyhledávač:

  • Analyzátory jazyka lze vyvolat při indexování a provádění dotazů a jsou buď Apache Lucene (například "de.lucene") nebo Microsoft ("de.microsoft").

  • Slovníky jazyka vyvolané při kontrole pravopisu se zadají pomocí některého z kódů jazyka v podporované jazykové tabulce.

V požadavku dotazu se hodnota přiřazená queryLanguage vztahuje na speller.

Poznámka

Konzistence jazyka mezi různými hodnotami vlastností je jen problém, pokud používáte analyzátory jazyka. Pokud používáte analyzátory nezávislé na jazyce (například klíčové slovo, jednoduché, standardní, zarážky, prázdné znaky nebo standardasciifolding.lucene), queryLanguage může být hodnota libovolná.

Obsah v indexu vyhledávání se sice může skládat v několika jazycích, ale vstup dotazu je pravděpodobně v jednom. Vyhledávací web nekontroluje kompatibilitu queryLanguage, analyzátoru jazyka a jazyka, ve kterém se obsah skládá, proto nezapomeňte odpovídajícím způsobem vymezit rozsah dotazů, aby nedocházelo k vytváření nesprávných výsledků.

Další kroky