Lägga till stavningskontroll i frågor i Azure AI-sökning (förhandsversion)

Observera

Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.

Viktigt

Funktioner, funktioner eller egenskaper som har markerats (förhandsversion) omfattas inte av ett serviceavtal, rekommenderas inte för produktionsarbetsbelastningar och kan ändras eller begränsas innan de blir allmänt tillgängliga. Villkoren för Azure AI-sökning förhandsgranskning gäller för alla förhandsgranskningsfunktioner, oavsett om de är fristående eller en del av en allmänt tillgänglig funktion.

Du kan förbättra träffsäkerheten genom att korrigera stavningen av ord i en sökfråga innan den når sökmotorn. Parametern speller (förhandsversion) stöds för alla textfrågetyper (icke-vektor) och är tillgänglig via Azure-portalen, förhandsversioner av REST-API:er och betaversioner av Azure SDKs bibliotek.

Förutsättningar

  • En söktjänst på Basic-nivån eller högre, i valfri region.

  • Ett befintligt sökindex med innehåll på ett språk som stöds.

  • En frågebegäran som har speller=lexicon och queryLanguage är inställd på ett språk som stöds. Stavningskontroll fungerar på strängar som skickas i parametern search . Det stöds inte för filter, fuzzy-sökning, jokerteckensökning, reguljära uttryck eller vektorfrågor.

Använd en sökklient som stöder förhandsversions-API:er i frågebegäran. Du kan använda en REST-klient eller betaversioner av Azure-SDK:er.

Klientbibliotek Versioner
REST API Versioner 2020-06-30-Preview och senare. Vi rekommenderar det senaste förhandsversions-API:et: 2026-08-01-preview
Azure SDKs för .NET version 11.7.0-beta.4
Azure SDKs för Java version 11.8.0-beta.7
Azure SDKs för JavaScript version 11.3.0-beta.8
Azure SDKs för Python version 11.6.0b12

I följande exempel används indexet hotels-sample för att demonstrera stavningskorrigering i en enkel textfråga. Utan stavningskorrigering returnerar frågan noll resultat. Med korrigering returnerar frågeförfrågan ett resultat för Johnsons familjeinriktade semesteranläggning.

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
}

Stavningskorrigering med full Lucene-funktionalitet

Stavningskorrigering sker på enskilda frågetermer som genomgår textanalys, varför du kan använda stavningsparametern med vissa Lucene-frågor, men inte andra.

  • Inkompatibla frågeformulär som kringgår textanalys är: jokertecken, regex, fuzzy
  • Kompatibla frågeformulär är: fältsökning, närhet, termförstärkning

I det här exemplet används fältsökning över fältet Kategori, med fullständig Lucene-syntax och en felstavad frågeterm. Genom att inkludera en stavningskontroll korrigeras stavfelet i "Suiite" och sökfrågan lyckas.

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
}

Stavningskorrigering med semantisk rangordning

Den här frågan, med stavfel i varje term utom en, genomgår stavningskorrigeringar för att returnera relevanta resultat. Mer information finns i Konfigurera semantisk ranker.

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
}

Språk som stöds

Giltiga värden för queryLanguage finns i följande tabell, kopierade från listan över språk som stöds (REST API-referens).

Språk queryLanguage
Engelska [EN] EN, EN-US (förval)
Spanska [ES] ES, ES-ES (förvald)
Franska [FR] FR, FR-FR (standard)
Tyska (DE) DE, DE-DE (förval)
Nederländska [NL] NL, NL-BE, NL-NL (förvalt)

Observera

Tidigare, medan semantisk ranker var i förhandsversion, användes parametern queryLanguage också för semantisk rangordning. Semantisk ranker är nu språkagnostisk.

Överväganden för språkanalys

Index som innehåller icke-engelskt innehåll använder ofta språkanalysverktyg på icke-engelska fält för att tillämpa språkreglerna för det inbyggda språket.

När du lägger till stavningskontroll i innehåll som också genomgår språkanalys kan du uppnå bättre resultat med samma språk för varje indexerings- och frågebearbetningssteg. Om ett fälts innehåll till exempel indexerades med hjälp av språkanalysatorn "fr.microsoft" bör frågor och stavningskontroll alla använda ett franskt lexikon eller språkbibliotek i något formulär.

Så här sammanfattar du hur språkbibliotek används i Azure AI-sökning:

  • Språkanalysverktyg kan anropas under indexering och frågekörning och är antingen Apache Lucene (till exempel "de.lucene") eller Microsoft ("de.microsoft).

  • Språklexikon som anropas under stavningskontroll anges med någon av språkkoderna i språktabellen som stöds .

I en frågebegäran gäller värdet som tilldelats till queryLanguage för speller.

Observera

Språkkonsekvens mellan olika egenskapsvärden är bara ett problem om du använder språkanalysverktyg. Om du använder språkagnostiska analysverktyg (till exempel nyckelord, enkel, standard, stopp, blanksteg eller standardasciifolding.lucene), queryLanguage kan värdet vara vad du vill.

Även om innehåll i ett sökindex kan bestå av flera språk är frågeindata troligtvis i ett. Sökmotorn kontrollerar inte kompatibiliteten av queryLanguage, språkanalysatorn och språket som innehållet är skrivet i, så se till att begränsa frågor efter omfång för att undvika felaktiga resultat.

Nästa steg