Helyesírás-ellenőrzés hozzáadása lekérdezésekhez az Azure AI Searchben
Fontos
A helyesírás-javítás nyilvános előzetes verzióban, kiegészítő használati feltételek mellett érhető el. Az Azure Portalon, a REST API-k előzetes verzióján és az Azure SDK-kódtárak bétaverzióján keresztül érhető el.
A visszahívást úgy javíthatja, hogy helyesírás-javítást végez egy lekérdezésben, mielőtt azok elérnék a keresőmotort. A speller
paraméter minden szöveges (nem vektoros) lekérdezéstípus esetében támogatott.
Előfeltételek
Keresési szolgáltatás az alapszintű vagy annál magasabb szinten, bármely régióban.
Meglévő keresési index támogatott nyelvű tartalommal.
Egy olyan lekérdezési kérelem, amely támogatott nyelvvel rendelkezik
speller=lexicon
ésqueryLanguage
van beállítva. A helyesírás-ellenőrzés a paraméterben átadott sztringekensearch
működik. Nem támogatott szűrők, homályos keresés, helyettesítő karakterek keresése, reguláris kifejezések vagy vektoros lekérdezések esetén.
Használjon olyan keresési ügyfelet, amely támogatja az előzetes verziójú API-kat a lekérdezési kérelemben. Az Azure SDK-k REST-ügyfél- vagy bétaverzióit is használhatja.
Ügyfélkódtár | Verziók |
---|---|
REST API | 2020-06-30-preview és újabb verziók. Javasoljuk, hogy a legújabb előzetes verziójú API-t használja. 2024-05-01-preview |
Azure SDK for .NET | 11.5.0-beta.5-es verzió |
Javához készült Azure SDK | 11.6.0-beta.5-es verzió |
Azure SDK for JavaScript | verzió: 11.3.0-beta.8 |
Azure SDK for Python | 11.4.0b3-es verzió |
Helyesírás-javítás egyszerű kereséssel
Az alábbi példa a beépített hotels-mintaindex használatával mutatja be a helyesírás-javítást egy egyszerű szöveges lekérdezésen. Helyesírás-javítás nélkül a lekérdezés nulla eredményt ad vissza. A javítással a lekérdezés egy eredményt ad vissza Johnson családközpontú üdülőhelyéhez.
POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"search": "famly acitvites",
"speller": "lexicon",
"queryLanguage": "en-us",
"queryType": "simple",
"select": "HotelId,HotelName,Description,Category,Tags",
"count": true
}
Helyesírás-javítás teljes Lucene-val
A helyesírás-javítás a szövegelemzésen átesett egyes lekérdezési kifejezéseken történik, ezért használhatja a helyesírás-ellenőrző paramétert néhány Lucene-lekérdezéssel, másokkal azonban nem.
- A szövegelemzést megkerülő nem kompatibilis lekérdezési űrlapok a következők: helyettesítő karakter, regex, fuzzy
- A kompatibilis lekérdezési űrlapok a következők: mezős keresés, közelség, kifejezésnövelés
Ez a példa a Kategória mezőn végzett mezőalapú keresést használja teljes Lucene szintaxissal és egy hibásan írt lekérdezési kifejezéssel. A helyesírás-ellenőrző használatával a "Suiite" elírása ki lett javítva, és a lekérdezés sikeres lesz.
POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/search?api-version=2024-05-01-preview
{
"search": "Category:(Resort and Spa) OR Category:Suiite",
"queryType": "full",
"speller": "lexicon",
"queryLanguage": "en-us",
"select": "Category",
"count": true
}
Helyesírás-javítás szemantikai rangsorolással
Ez a lekérdezés egy kivételével minden kifejezésben elírásokat tartalmaz, és helyesírás-javításon megy keresztül a releváns eredmények visszaadása érdekében. További információ: Szemantikai rangsoroló konfigurálása.
POST https://[service name].search.windows.net/indexes/hotels-sample-index/docs/search?api-version=2024-05-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
}
Támogatott nyelvek
Az érvényes értékek queryLanguage
az alábbi táblázatban találhatók, a támogatott nyelvek listájából másolva (REST API-referencia).
Nyelv | queryLanguage |
---|---|
Angol [EN] | EN, EN-US (alapértelmezett) |
Spanyol [ES] | ES, ES-ES (alapértelmezett) |
Francia [FR] | FR, FR-FR (alapértelmezett) |
Német [DE] | DE, DE-DE (alapértelmezett) |
Holland [NL] | NL, NL-BE, NL-NL (alapértelmezett) |
Feljegyzés
Korábban, míg a szemantikai rangsoroló nyilvános előzetes verzióban volt, a queryLanguage
paramétert a szemantikai rangsoroláshoz is felhasználták. A szemantikai rangsoroló mostantól nyelvfüggetlen.
Nyelvelemző szempontok
A nem angol nyelvű tartalmakat tartalmazó indexek gyakran használnak nyelvelemzőket a nem angol nyelvű mezőkön az anyanyelv nyelvi szabályainak alkalmazásához.
Ha nyelvelemzésen is áteső tartalomhoz ad hozzá helyesírás-ellenőrzést, minden indexelési és lekérdezésfeldolgozási lépéshez ugyanazt a nyelvet használva érhet el jobb eredményeket. Ha például egy mező tartalmát az "fr.microsoft" nyelvelemzővel indexelték, akkor a lekérdezések és helyesírás-ellenőrzésnek valamilyen formában francia lexikont vagy nyelvi könyvtárat kell használnia.
A nyelvi kódtárak Azure AI Searchben való használatával kapcsolatos további tudnivalók:
A nyelvelemzők meghívhatók az indexelés és a lekérdezés végrehajtása során, és Apache Lucene (például "de.lucene") vagy Microsoft ("de.microsoft").
A helyesírás-ellenőrzés során meghívott nyelvi lexikonok a támogatott nyelvi táblázat egyik nyelvi kódjának használatával vannak megadva.
Egy lekérdezési kérelemben a hozzárendelt queryLanguage
érték a következőre speller
vonatkozik: .
Feljegyzés
A különböző tulajdonságértékek nyelvi konzisztenciája csak akkor jelent problémát, ha nyelvelemzőket használ. Ha nyelvi agnosztikus elemzőket használ (például kulcsszó, egyszerű, standard, stop, whitespace vagy standardasciifolding.lucene
), akkor az queryLanguage
érték tetszőleges lehet.
Bár a keresési index tartalma több nyelven is összeállítható, a lekérdezés bemenete valószínűleg egy nyelven történik. A keresőmotor nem ellenőrzi a nyelvelemző és a tartalomkészítés nyelvének queryLanguage
kompatibilitását, ezért ügyeljen arra, hogy a lekérdezéseket ennek megfelelően hatókörbe állítsa, hogy ne eredményezzen helytelen eredményeket.