Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés
Azure AI Keresés a Azure portálon, REST API-kon és Azure SDK-k keresztül érhető el. Emellett a Foundry IQ-t is támogatja, amely a vállalati tartalmakat újrafelhasználható, engedélytudatos tudásbázisokká alakítja át az Microsoft Foundry portálon található ügynökök számára.
Az egyéni elemző a lexikális elemzés összetevője egyszerű szöveges tartalom fölött. Ez egy tokenizáló, egy vagy több token szűrő és egy vagy több karakterszűrő felhasználó által definiált kombinációja. Az egyéni elemző egy keresési indexben van megadva, majd név alapján hivatkozik az egyéni elemzést igénylő meződefiníciókra. A rendszer mezőnként meghív egy egyéni elemzőt. A mező attribútumai határozzák meg, hogy indexelésre, lekérdezésekre vagy mindkettőre használják-e.
Egyéni elemzőkben a karakterszűrők előkészítik a bemeneti szöveget, mielőtt a tokenizer feldolgozta volna (például eltávolítja a korrektúrát). Ezután a tokenizer tokenekre bontja a szöveget. Végül a token-szűrők módosítják a tokenizáló által kibocsátott tokeneket. Fogalmakért és példákért tekintse meg az Elemzőket az Azure AI Keresésben és az oktatóanyagban: Egyéni elemző létrehozása telefonszámokhoz.
Miért érdemes egyéni elemzőt használni?
Érdemes megfontolnia egy egyéni elemzőt a klasszikus keresési munkafolyamatokban, amelyek nem tartalmaznak nagy nyelvi modelleket, és képesek kezelni a tartalom rendellenességeit.
Az osztálykeresésben egy egyéni elemzővel szabályozhatja az egyszerű szöveg indexelhető és kereshető jogkivonatokká alakításának folyamatát, így kiválaszthatja, hogy mely elemzési vagy szűrési típusokat kell meghívni, és hogy milyen sorrendben történjenek.
Hozzon létre és rendeljen hozzá egyéni elemzőt, ha az alapértelmezett (Standard Lucene), a beépített vagy a nyelvelemzők nem elegendőek az ön igényeihez. Egyéni elemzőt is létrehozhat, ha egyéni beállításokkal rendelkező beépített elemzőt szeretne használni. Ha például a maxTokenLength Standard Lucene beállítását szeretné módosítani, egy egyéni elemzőt hozna létre egy felhasználói névvel az opció meghatározásához.
Olyan forgatókönyvek, ahol az egyéni elemzők hasznosak lehetnek:
Karakterszűrők használata a HTML jelölés eltávolításához a szöveg bemenetek tokenszámítása előtt, vagy bizonyos karakterek vagy szimbólumok cseréje.
Fonetikus keresés. Adjon hozzá egy fonetikai szűrőt, ami lehetővé teszi a keresést a szavak hangzása alapján, nem pedig a helyesírásuk szerint.
A lexikális elemzés letiltása. A Kulcsszóelemzővel olyan kereshető mezőket hozhat létre, amelyek nem elemezhetők.
Gyors előtag-/utótagkeresés. Adja hozzá az Edge N-gram token szűrőt a szavak előtagjainak indexeléséhez, hogy lehetővé tegye a gyors előtag-egyeztetést. Kombinálja a Fordított token szűrővel az utótagegyezés érdekében.
Egyéni tokenizálás. Például használja a Whitespace tokenizáló eszközt, hogy a mondatokat szóközökkel elválasztva tokenekre bontsa.
ASCII összecsukható. Adja hozzá a Standard ASCII összecsukható szűrőt, hogy normalizálja az olyan mellékjeleket, mint ö vagy ê a keresési kifejezésekben.
Megjegyzés
Az egyéni elemzők nem jelennek meg az Azure Portalon. Az egyéni elemzők hozzáadásának egyetlen módja az indexséma létrehozására használt kód.
Egyéni elemző létrehozása
Egyéni elemző létrehozásához adja meg azt az analyzers index szakaszában a tervezéskor, majd a kereshető mezőkön hivatkozzon rá a Edm.String tulajdonság vagy a analyzer és indexAnalyzer pár használatával.
Az elemződefiníció egy nevet, típust, egy vagy több karakterszűrőt, legfeljebb egy tokenizálót és egy vagy több token szűrőt tartalmaz a tokenizálás utáni feldolgozáshoz. A rendszer a tokenizálás előtt karakterszűrőket alkalmaz. A token szűrőket és a karakterszűrőket balról jobbra alkalmazzák.
Az egyéni elemzők neveinek egyedinek kell lenniük, és nem egyezhetnek meg a beépített elemzőkkel, tokenizáló eszközökkel, token szűrőkkel vagy karakterszűrőkkel. A nevek betűkből, számjegyekből, szóközökből, kötőjelekből vagy aláhúzásokból állnak. A neveknek egyszerű szöveges karakterekkel kell kezdődniük és végződniük. A neveknek 128 karakternél rövidebbnek kell lenniük.
A típusnak #Microsoft.Azure.Search.CustomAnalyzer típusúnak kell lennie.
charFiltersA megadott sorrendben egy vagy több szűrő is lehet a karakterszűrőkből, a tokenizálás előtt feldolgozva. Egyes karakterszűrők beállítási lehetőségekkel rendelkeznek, amelyek egycharFiltersszakaszban állíthatók be. A karakterszűrők megadása nem kötelező.tokenizerpontosan egy Tokenizer. Érték megadása kötelező. Ha több tokenizerre van szüksége, létrehozhat több egyéni elemzőt, és hozzárendelheti őket mezőnként az indexsémában.tokenFiltersA Token szűrők lehetnek egy vagy több szűrő, amelyet a tokenizálás után, a megadott sorrendben dolgoznak fel. A token szűrők esetében, amelyeknek vannak opcióik, adjon hozzá egytokenFilterszakaszt a konfiguráció megadásához. A token szűrők nem kötelezőek.
Az elemzők nem hozhatnak létre 300 karakternél hosszabb jogkivonatokat, vagy az indexelés sikertelen lesz. A hosszú tokenek rövidítéséhez vagy kizárásához használja a TruncateTokenFilter és a LengthTokenFilter értéket. További információért tekintse meg a tokenszűrőket.
"analyzers":(optional)[
{
"name":"name of analyzer",
"@odata.type":"#Microsoft.Azure.Search.CustomAnalyzer",
"charFilters":[
"char_filter_name_1",
"char_filter_name_2"
],
"tokenizer":"tokenizer_name",
"tokenFilters":[
"token_filter_name_1",
"token_filter_name_2"
]
},
{
"name":"name of analyzer",
"@odata.type":"#analyzer_type",
"option1":value1,
"option2":value2,
...
}
],
"charFilters":(optional)[
{
"name":"char_filter_name",
"@odata.type":"#char_filter_type",
"option1":value1,
"option2":value2,
...
}
],
"tokenizers":(optional)[
{
"name":"tokenizer_name",
"@odata.type":"#tokenizer_type",
"option1":value1,
"option2":value2,
...
}
],
"tokenFilters":(optional)[
{
"name":"token_filter_name",
"@odata.type":"#token_filter_type",
"option1":value1,
"option2":value2,
...
}
]
Az indexdefiníción belül ezt a szakaszt bárhová elhelyezheti egy index-létrehozási kérelem törzsében, de általában a végére kerül:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
Az elemződefiníció a nagyobb index része. A karakterszűrők, a tokenizerek és a tokenszűrők definíciói csak akkor kerülnek hozzáadásra az indexhez, ha egyéni beállításokat ad meg. Ha meglévő szűrőt vagy tokenizálót szeretne használni, adja meg név szerint az elemző definíciójában. További információt az Index létrehozása (REST) című témakörben talál. További példákért lásd : Elemzők hozzáadása az Azure AI Keresésben.
Egyéni elemzők tesztelése
A Tesztelemző (REST) segítségével megtekintheti, hogy egy elemző hogyan töri meg a megadott szöveget szóelemekre.
Kérelem
POST https://[search service name].search.windows.net/indexes/[index name]/analyze?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
{
"analyzer":"my_analyzer",
"text": "Vis-à-vis means Opposite"
}
Válasz
{
"tokens": [
{
"token": "vis_a_vis",
"startOffset": 0,
"endOffset": 9,
"position": 0
},
{
"token": "vis_à_vis",
"startOffset": 0,
"endOffset": 9,
"position": 0
},
{
"token": "means",
"startOffset": 10,
"endOffset": 15,
"position": 1
},
{
"token": "opposite",
"startOffset": 16,
"endOffset": 24,
"position": 2
}
]
}
Egyéni elemzők frissítése
Miután definiált egy elemzőt, egy tokenizert, egy token szűrőt vagy egy karakterszűrőt, nem módosítható. Újak csak akkor vehetők fel meglévő indexbe, ha a allowIndexDowntime jelző igaz értékre van állítva az indexfrissítési kérelemben:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Ez a művelet legalább néhány másodpercig offline állapotba helyezi az indexet, ami miatt az indexelés és a lekérdezési kérelmek meghiúsulnak. Az index teljesítménye és írási rendelkezésre állása az index frissítése után néhány percig csökkenhet, vagy hosszabb lehet a nagyon nagy indexek esetében, de ezek a hatások ideiglenesek, és végül önállóan feloldódnak.
Beépített elemzők
Ha egyéni beállításokkal rendelkező beépített elemzőt szeretne használni, az egyéni elemző létrehozása az a mechanizmus, amellyel megadhatja ezeket a beállításokat. Ezzel szemben ha beépített elemzőt szeretne használni, egyszerűen név szerint kell hivatkoznia rá a meződefinícióban.
| analyzer_name | analyzer_type 1 | Leírás és beállítások |
|---|---|---|
| kulcsszó | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Egy mező teljes tartalmát egyetlen tokenként kezeli. Ez olyan adatok esetében hasznos, mint az irányítószámok, az azonosítók és néhány terméknév. |
| minta | Mintaelemző | A szöveget rugalmasan elválasztja kifejezésekké egy reguláris kifejezésmintán keresztül. Beállítások kisbetű (típus: bool) – Meghatározza, hogy a kifejezések kisbetűsek-e. Az alapértelmezett érték igaz. minta (típus: sztring) – A tokenelválasztóknak megfelelő reguláris kifejezésminta. Az alapértelmezett érték a \W+, amely a nem szókarakterekkel egyezik meg. flagok (típus: string) – Reguláris kifejezésflagok. Az alapértelmezett érték egy üres sztring. Engedélyezett értékek: CANON_EQ, CASE_INSENSITIVE, MEGJEGYZÉSEK, DOTALL, LITERÁL, TÖBBSOROS, UNICODE_CASE, UNIX_LINES stopwords (típus: karakterlánctömb) – A stopwords listája. Az alapértelmezett érték egy üres lista. |
| egyszerű | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Nem betűkre osztja a szöveget, és kisbetűssé alakítja őket. |
|
szabvány (Más néven standard.lucene) |
StandardAnalyzer | A Lucene szabványos elemzője, amely tokenizálóból, kisbetűs szűrőből és megállító szűrőből áll. Beállítások maxTokenLength (típus: int) – A token maximális hossza. Az alapértelmezett érték 255. A maximális hossznál hosszabb tokenek felosztásra kerülnek. A használható tokenek maximális hossza 300 karakter. stopwords (típus: karakterlánctömb) – A stopwords listája. Az alapértelmezett érték egy üres lista. |
| standardasciifolding.lucene | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Standard elemző Ascii összecsukható szűrővel. |
| állj | StopAnalyzer | A szöveget nem betűkaraktereken osztja fel, és alkalmazza a kisbetűs és stopword szűrőket. Beállítások stopwords (típus: karakterlánctömb) – A stopwords listája. Az alapértelmezett érték egy előre definiált angol nyelvű lista. |
| Szóköz | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Egy elemző, amely szóköz alapú tokenizálást használ. A 255 karakternél hosszabb tokenek felosztásra kerülnek. |
1 Az elemzőtípusok mindig előtaggal kezdődnek a kódban úgy, hogy #Microsoft.Azure.Search valójában PatternAnalyzer-ként van megadva. Eltávolítottuk az előtagot az egyszerűség kedvéért, de a kódban szükség van az előtagra.
A analyzer_type csak testre szabható elemzők számára érhető el. Ha nincsenek lehetőségek, ahogy a kulcsszóelemző esetében is, nincs társított #Microsoft.Azure.Search-típus.
Karakterszűrők
A karakterszűrők feldolgozást végeznek, mielőtt egy sztring elérné a tokenizert.
Az Azure AI Keresés az alábbi listában szereplő karakterszűrőket támogatja. Mindegyikről további információt a Lucene API-referencia tartalmaz.
| char_filter_name | char_filter_type1 | Leírás és beállítások |
|---|---|---|
| html_strip | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Karakterszűrő, amely megpróbálja kiszűrni a HTML-szerkezeteket. |
| térképezés | KarakterleképezőSzűrő | Olyan karakterszűrő, amely a "mappings" beállítással meghatározott leképezéseket alkalmazza. A megfeleltetés kapzsi (egy adott pontnál a leghosszabb egyező minta nyer). A csere lehet üres karakterlánc. Beállítások leképezések (típus: sztringtömb) – A következő formátumú leképezések listája: a=>b (a karakter a minden előfordulását karakterrel bhelyettesítjük). Szükséges. |
| pattern_replace | PatternReplaceCharFilter | Karakterszűrő, amely a bemeneti sztringben szereplő karaktereket helyettesíti. Egy reguláris kifejezéssel azonosítja a megőrizendő karaktersorozatokat, a cseremintát pedig a lecserélendő karakterek azonosításához. Például a bemeneti szöveg = aa bb aa bb, pattern=(aa)\\\s+(bb) replacement=$1#$2, result = aa#bb aa#bb. Beállítások minta (típus: sztring) – Kötelező. csere (típus: karakterlánc) – Kötelező. |
1 A karakterszűrő-típusok a kódban mindig #Microsoft.Azure.Search előtaggal vannak előírva, így a MappingCharFilter valójában #Microsoft.Azure.Search.MappingCharFilter-ként van megadva. Eltávolítottuk az előtagot a tábla szélességének csökkentése érdekében, de ne feledje beilleszteni a kódjába. Figyelje meg, hogy a char_filter_type csak testre szabható szűrők esetén érhető el. Ha nincsenek lehetőségek, ahogyan a html_strip esetében is, nincs társított #Microsoft.Azure.Search-típus.
Tokenizálók
A tokenizáló a folyamatos szöveget tokenek sorozatára osztja, például egy mondat szavakra való felosztását, vagy egy szó gyökerére bontását.
Az Azure AI Keresés az alábbi listában támogatja a tokenizereket. Mindegyikről további információt a Lucene API-referencia tartalmaz.
| tokenizer_name | tokenizer_type1 | Leírás és beállítások |
|---|---|---|
| klasszikus | Klasszikus tokenizer | Nyelvtanalapú tokenizer, amely alkalmas a legtöbb európai nyelvű dokumentum feldolgozására. Beállítások maxTokenLength (típus: int) – A token maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. |
| edgeNGram | EdgeNGramTokenizer | Tokenizálja a bemenetet egy peremről adott méretű n-grammokra. Beállítások minGram (típus: int) – Alapértelmezett: 1, maximum: 300. maxGram (típus: int) – Alapértelmezett: 2, maximum: 300. A minGramnál nagyobbnak kell lennie. tokenChars (típus: sztringtömb) – A tokenekben megtartandó karakterosztályok. Engedélyezett értékek: letter, digit, whitespace, punctuationsymbol. Alapértelmezett érték egy üres tömbhöz – az összes karakter megmarad. |
| keyword_v2 | KeywordTokenizerV2 | A teljes bemenetet egyetlen tokenként ad ki. Beállítások maxTokenLength (típus: int) – A token maximális hossza. Alapértelmezett: 256, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. |
| levél | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Azokat a helyeket osztja el a szövegben, ahol nem betűk találhatóak. A 255 karakternél hosszabb tokenek felosztásra kerülnek. |
| kisbetűs | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Nem betűkre osztja a szöveget, és kisbetűssé alakítja őket. A 255 karakternél hosszabb tokenek felosztásra kerülnek. |
| microsoft_language_tokenizer | MicrosoftLanguageTokenizer | Nyelvspecifikus szabályokkal osztja el a szöveget. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza, alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. A 300 karakternél hosszabb jogkivonatok először 300 hosszúságú jogkivonatokra lesznek felosztva, majd a maxTokenLength-készlet alapján felosztják az egyes jogkivonatokat. isSearchTokenizer (típus: bool) – Állítsa igazra, ha keresési tokenizeálóként használják, állítsa hamisra, ha indexelő tokenizeálóként használják. nyelv (típus: sztring) – Használandó nyelv, alapértelmezett english. Az engedélyezett értékek a következők: bangla, bulgarian, catalan, chineseSimplified, chineseTraditional, croatian, czech, danish, dutch, english, french, german, greek, gujarati, hindi, icelandic, indonesian, italian, japanese, kannada, korean, malay, malayalam, marathi, norwegianBokmaal, polish, portuguese, portugueseBrazilian, punjabi, romanian, russian, serbianCyrillic, serbianLatin, slovenian, spanish, swedish, tamil, telugu, thai, ukrainian, urdu, vietnamese |
| microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Nyelvspecifikus szabályokkal osztja el a szöveget, és a szavakat az alapformákra csökkenti. Ez a tokenizer lemmatizálást végez. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza, alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. A 300 karakternél hosszabb jogkivonatok először 300 hosszúságú jogkivonatokra lesznek felosztva, majd a maxTokenLength-készlet alapján felosztják az egyes jogkivonatokat. isSearchTokenizer (típus: bool) – Állítsa igazra, ha keresési tokenizeálóként használják, állítsa hamisra, ha indexelő tokenizeálóként használják. nyelv (típus: sztring) – Használandó nyelv, alapértelmezett english. Az engedélyezett értékek a következők: arabic, bangla, bulgarian, catalan, croatian, czech, danish, dutch, english, estonian, finnish, french, german, greek, gujarati, hebrew, hindi, hungarian, icelandic, indonesian, italian, kannada, latvian, lithuanian, malay, malayalam, marathi, norwegianBokmaal, polish, portuguese, portugueseBrazilian, punjabi, romanian, russian, serbianCyrillic, serbianLatin, slovak, slovenian, spanish, swedish, tamil, telugu, turkish, ukrainian, urdu |
| nGram | NGramTokenizer | Tokenizálja a bemenetet a megadott n-gramm hosszúságokra. Beállítások minGram (típus: int) – Alapértelmezett: 1, maximum: 300. maxGram (típus: int) – Alapértelmezett: 2, maximum: 300. A minGramnál nagyobbnak kell lennie. tokenChars (típus: sztringtömb) – A tokenekben megtartandó karakterosztályok. Engedélyezett értékek: letter, digit, whitespace, punctuation. symbol Alapértelmezett érték egy üres tömbhöz – az összes karakter megmarad. |
| path_hierarchy_v2 | PathHierarchyTokenizerV2 | Tokenizer elérési utakhoz hasonló hierarchiákhoz.
Beállítások elválasztó (típus: sztring) – Alapértelmezett: '/. csere (típus: sztring) – Ha be van állítva, cserélje le a határoló karaktert. Alapértelmezés szerint megegyezik az elválasztó értékével. maxTokenLength (típus: int) – A token maximális hossza. Alapértelmezett: 300, maximum: 300. A maxTokenLength-nél hosszabb útvonalak figyelmen kívül lesznek hagyva. fordított (típus: bool) – Ha igaz, fordított sorrendben hozza létre a tokent. Alapértelmezett érték: false (hamis). skip (típus: bool) – Kezdeti tokenek, amelyeket ki kell hagyni. Az alapértelmezett érték a 0. |
| minta | Minta Tokenizer | Ez a tokenizer regex mintaegyezést használ a különböző tokenek létrehozásához. Beállítások minta (típus: string) – Reguláris kifejezés, amely a tokenelválasztók egyeztetésére szolgál. Az alapértelmezett érték a \W+, amely a nem szókarakterekkel egyezik meg. flagok (típus: string) – Reguláris kifejezésflagok. Az alapértelmezett érték egy üres sztring. Engedélyezett értékek: CANON_EQ, CASE_INSENSITIVE, MEGJEGYZÉSEK, DOTALL, LITERÁL, TÖBBSOROS, UNICODE_CASE, UNIX_LINES group (type: int) – Melyik csoportot kell tokenekké alakítani. Az alapértelmezett érték -1 (felosztás). |
| standard_v2 | StandardTokenizerV2 | A szövegtörések a Unicode szövegszegmentálási szabályok szerint történnek. Beállítások maxTokenLength (típus: int) – A token maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. |
| uax_url_email | UaxUrlEmailTokenizer (URL és email tokenizáló) | Az URL-címeket és e-maileket egy tokenként tokenizálja. Beállítások maxTokenLength (típus: int) – A token maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb tokenek felosztásra kerülnek. |
| Szóköz | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A szóközön lévő szöveget osztja el. A 255 karakternél hosszabb tokenek felosztásra kerülnek. |
1 A tokenizáló típusok mindig egy előtagot kapnak a kódban, így a #Microsoft.Azure.Search valójában ClassicTokenizer-ként van megadva. Eltávolítottuk az előtagot a tábla szélességének csökkentése érdekében, de ne feledje beilleszteni a kódjába. Figyelje meg, hogy tokenizer_type csak testre szabható tokenizerekhez van megadva. Ha nincsenek lehetőségek, ahogyan a karakter tokenizáló esetében is, nincs típus társítva a #Microsoft.Azure.Search-hez.
Token szűrők
A token szűrőt arra használjuk, hogy kiszűrjük vagy módosítsuk a tokenizáló által létrehozott tokeneket. Megadhat például egy kisbetűs szűrőt, amely az összes karaktert kisbetűssé alakítja. Egy egyéni elemzőben több token szűrő is használható. A token szűrők a lista sorrendjében futnak.
Az alábbi táblázatban az Apache Lucene használatával implementált jogkivonatszűrők a Lucene API dokumentációhoz vannak csatolva.
| token_filter_name | token_filter_type1 | Leírás és beállítások |
|---|---|---|
| arab betűk normalizálása | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Token szűrő, amely az arab normalizálót használja az ortográfia egységesítésére. |
| aposztróf | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Az aposztróf után az összes karaktert (beleértve magát az aposztrófot is) csíkoz. |
| asciifolding | AsciiFoldingTokenFilter | Az első 127 ASCII-karakterben ( Basic Latin a Unicode-blokkban) nem szereplő betűrendes, numerikus és szimbolikus Unicode-karaktereket ASCII-megfelelőkké alakítja, ha van ilyen.Beállítások preserveOriginal (típus: bool) – Ha igaz értéket adunk meg, az eredeti token megmarad. Az alapértelmezett érték hamis. |
| cjk_bigram | CjkBigramTokenFilter | A StandardTokenizerből létrehozott CJK-kifejezések bigramjai. Beállítások ignoreScripts (típus: sztringtömb) – Figyelmen kívül hagyandó szkriptek. Az engedélyezett értékek a következők: han, hiragana, katakana. hangul Az alapértelmezett érték egy üres lista.outputUnigrams (típus: bool) – Igaz értékre van állítva, ha mindig unigramokat és bigramokat is ki szeretne adni. Az alapértelmezett érték hamis. |
| cjk_width | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Normalizálja a CJK szélességi különbségeit. A teljes szélességű ASCII változatokat összehajtja az alapszintű latin megfelelőjévé, és a félszélességű Katakana változatokat a megfelelő kana formává. |
| klasszikus | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Eltávolítja az angol birtokosokat és a betűszavakból a pontokat. |
| common_grams | CommonGramTokenSzűrő | Bigramokat hozhat létre az indexelés során gyakran előforduló kifejezésekhez. Az egyes kifejezések továbbra is indexelve maradnak, és a bigramok átfedésben vannak. Beállítások commonWords (típus: karakterlánctömb) – A közös szavak halmaza. Az alapértelmezett érték egy üres lista. Szükséges. ignoreCase (típus: bool) – Ha igaz, az egyeztetés nem különbözteti meg a kis- és nagybetűket. Az alapértelmezett érték hamis. queryMode (típus: bool) – Bigramokat hoz létre, majd eltávolítja a közös szavakat és azokat az önálló kifejezéseket, amelyeket egy közös szó követ. Az alapértelmezett érték hamis. |
| dictionary_decompounder | SzótárDecompounderTokenFilter | Több germán nyelven található összetett szavakat bont le. Beállítások wordList (típus: karakterlánctömb) – Az egyező szavak listája. Az alapértelmezett érték egy üres lista. Szükséges. minWordSize (típus: int) – Csak az ennél hosszabb szavak lesznek feldolgozva. Az alapértelmezett érték 5. minSubwordSize (típus: int) – Csak az ennél hosszabb alszavak lesznek kimenetben. Az alapértelmezett érték 2. maxSubwordSize (típus: int) – Csak az ennél rövidebb alszavak lesznek kimenetben. Az alapértelmezett érték 15. onlyLongestMatch (típus: bool) – Adja hozzá a kimenethez csak a leghosszabb egyező alszót. Az alapértelmezett érték hamis. |
| edgeNGram_v2 | EdgeNGramTokenFilterV2 | A megadott méretű n-grammokat generálja egy bemeneti token elejéről vagy hátuljáról kiindulva. Beállítások minGram (típus: int) – Alapértelmezett: 1, maximum: 300. maxGram (típus: int) – Alapértelmezett: 2, maximum 300. A minGramnál nagyobbnak kell lennie. side (típus: karakterlánc) – Megadja, hogy az n-gram az input melyik oldaláról legyen generálva. Engedélyezett értékek: front, back |
| elízió | ElisionTokenFilter | Eltávolítja az elíziókat. A rendszer például l'avion (a repülőgép) konvertálódik avion (repülőgéppé).Beállítások cikkek (típus: sztringtömb) – Eltávolítandó cikkek készlete. Az alapértelmezett érték egy üres lista. Ha nincs beállítva lista a cikkekről, alapértelmezés szerint az összes francia cikk el lesz távolítva. |
| német_normalizáció | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Normalizálja a német karaktereket a German2 snowball algoritmus heurisztikái szerint. |
| hindi_normalization | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Normalizálja a hindi szövegeket, hogy eltávolítson néhány különbséget a helyesírási változatokban. |
| indic_normalization | IndiaiNormalizációsTokenSzűrő | Normalizálja a szöveg Unicode-ábrázolását indiai nyelveken. |
| megőriz | KeepTokenFilter | Olyan token szűrő, amely csak azokat a tokeneket tartja meg, amelyek szövege szerepel a megadott szavak listájában. Beállítások keepWords (típus: karakterlánctömb) – A megtartandó szavak listája. Az alapértelmezett érték egy üres lista. Szükséges. keepWordsCase (típus: bool) - Ha igaz, először kisbetűssé alakítja az összes szót. Az alapértelmezett érték hamis. |
| keyword_marker | KulcsszóMarkerTokenSzűrő | Kulcsszavakként jelöli meg a kifejezéseket. Beállítások kulcsszavak (típus: karakterlánctömb) – Kulcsszavakként megjelölendő szavak listája. Az alapértelmezett érték egy üres lista. Szükséges. ignoreCase (típus: bool) – Ha igaz, minden szót először kisbetűssé alakít. Az alapértelmezett érték hamis. |
| keyword_repeat | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Minden beérkező tokent kétszer bocsát ki: egyszer kulcsszóként, egyszer pedig nem kulcsszóként. |
| kstem | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Nagy teljesítményű kstem szűrő angol nyelven. |
| length (hossz) | Hosszúsági Tokén Szűrő | Eltávolítja a túl hosszú vagy túl rövid szavakat. Beállítások min (típus: int) – A minimális szám. Alapértelmezett: 0, maximum: 300. max (típus: int) – A maximális szám. Alapértelmezett: 300, maximum: 300. |
| korlát | Microsoft.Azure.Search.LimitTokenFilter | Korlátozza a tokenek számát az indexelés során. Beállítások maxTokenCount (típus: int) – A létrehozandó tokenek maximális száma. Az alapértelmezett érték 1. consumeAllTokens (típus: bool) – Azt jelzi, hogy a bemenet összes tokenjét fel kell-e használni, még akkor is, ha eléri a maxTokenCount értéket. Az alapértelmezett érték hamis. |
| kisbetűs | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A token szövegének normalizálása kisbetűssé. |
| nGram_v2 | NGramTokenFilterV2 | A megadott méretek n-gramját hozza létre. Beállítások minGram (típus: int) – Alapértelmezett: 1, maximum: 300. maxGram (típus: int) – Alapértelmezett: 2, maximum 300. A minGramnál nagyobbnak kell lennie. |
| pattern_capture | PatternCaptureTokenFilter | Java reguláris kifejezések használatával több tokent hoz létre, egyet-egyet minden rögzítési csoport számára egy vagy több mintában. Beállítások minták (típus: sztringtömb) – Az egyes tokenekhez illeszkedő minták listája. Szükséges. preserveOriginal (típus: bool) – Igaz értékre van állítva az eredeti jogkivonat visszaadása akkor is, ha az egyik minta megegyezik, alapértelmezett: true |
| pattern_replace | PatternReplaceTokenFilter | Egy token szűrő, amely mintát alkalmaz a stream minden tokenjére, és lecseréli az egyezéseket a megadott cserekarakterláncra. Beállítások minta (típus: sztring) – Kötelező. csere (típus: karakterlánc) – Kötelező. |
| perzsa_normalizáció | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A perzsa normalizálást elvégzi. |
| Fonetikus | FonetikaiTokenSzűrő | Tokenek létrehozása fonetikus egyezésekhez. Beállítások kódoló (típus: sztring) – Használandó fonetikus kódoló. Az engedélyezett értékek a következők: metaphone, doubleMetaphone, soundex, refinedSoundex, caverphone1, caverphone2. colognenysiiskoelnerPhonetikhaasePhonetikbeiderMorse Alapértelmezett: metaphone. Alapértelmezett érték: Metafon.További információt a kódolóban talál. replace (type: bool) – Igaz, ha a kódolt jogkivonatok az eredeti jogkivonatokat cserélik le, hamis, ha szinonimákként kell őket hozzáadni. Az alapértelmezett érték igaz. |
| porter_stem | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Átalakítja a tokenfolyamot a Porter stemming algoritmus szerint. |
| fordított | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Megfordítja a token sztringet. |
| skandináv_normalizálás | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Normalizálja a felcserélhető skandináv karakterek használatát. |
| scandinavian_folding | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A skandináv karaktereket åÅäæÄÆbe a - és öÖøØbehajtja o. Emellett nem engedélyezi a dupla magánhangzók aa, ae, ao, oe és oo használatát, csak az elsőt hagyva meg. |
| zsindely | ShingleTokenFilter | Tokenek kombinációit egyetlen tokenként hozza létre. Beállítások maxShingleSize (típus: int) – Alapértelmezés szerint 2. minShingleSize (típus: int) – Alapértelmezés szerint 2. outputUnigrams (típus: bool) – ha igaz, a kimeneti adatfolyam tartalmazza a bemeneti tokeneket (unigramokat) és a shingle-eket. Az alapértelmezett érték igaz. outputUnigramsIfNoShingles (típus: bool) – Ha igaz, felülbírálja az outputUnigrams==false viselkedését azokra az időkre, amikor nem érhető el shingle-ek. Az alapértelmezett érték hamis. tokenSeparator (típus: karakterlánc) – Az a karakterlánc, amelyet a szomszédos tokenek összekapcsolásakor használunk egy shingle előállításához. Az alapértelmezett érték egyetlen üres terület . filterToken (típus: sztring) – Az egyes pozíciókhoz beszúrandó szöveg, ahol nincs token. Az alapértelmezett érték _. |
| hógolyó | Hógolyó-tokenszűrő | Snowball Token szűrő. Beállítások nyelv (típus: sztring) – Az engedélyezett értékek a következők: armenian, basque, catalan, danish, dutch, english, finnish, french, german, german2, hungarian, italian, kp, lovins, norwegian, porter, portuguese, romanian, russian, spanish, swedish, turkish |
| sorani_normalization | Soráni Normalizációs Token Szűrő | Normalizálja a szöveg Unicode-ábrázolását Sorani .Beállítások Nincs. |
| stemmer | StemmerTokenFilter | Nyelvspecifikus eredetszűrő. Beállítások nyelv (típus: sztring) – Az engedélyezett értékek a következők: - arabic- armenian- basque- brazilian- bulgarian- catalan- czech- danish- dutch- dutchKp- english- lightEnglish- minimalEnglish- possessiveEnglish- porter2- lovins- finnish- lightFinnish- french- lightFrench- minimalFrench- galician- minimalGalician- german- german2- lightGerman- minimalGerman- greek- hindi- hungarian- lightHungarian- indonesian- irish- italian- lightItalian- sorani- latvian- norwegian- lightNorwegian- minimalNorwegian- lightNynorsk- minimalNynorsk- portuguese- lightPortuguese- minimalPortuguese- portugueseRslp- romanian- russian- lightRussian- spanish- lightSpanish- swedish- lightSwedish- turkish |
| stemmer_override | StemmerOverrideTokenFilter | A szótárból származó kifejezések kulcsszavakként vannak megjelölve, ami megakadályozza a lánc lesülését. A szűrőt a stemming szűrők elé kell helyezni. Beállítások szabályok (típus: sztringtömb) – Szótövezési szabályok a következő formátumban word => stem, például ran => run. Az alapértelmezett érték egy üres lista. Szükséges. |
| stopwords | StopwordsTokenFilter | Eltávolítja a tiltó szavakat egy token folyamából. Alapértelmezés szerint a szűrő egy előre definiált stop szólistát használ az angol nyelvhez. Beállítások stopwords (típus: karakterlánctömb) – A stopwords listája. StopwordsList megadása esetén nem adható meg. stopwordsList (típus: sztring) – A stopwords előre definiált listája. Nem adható meg, ha stopwords meg van adva. Az engedélyezett értékek: arabic, armenian, basque, brazilian, bulgarian, catalan, czech, danish, dutch, english, finnish, french, galician, german, greek, hindi, hungarian, indonesian, irish, italian, latvian, norwegian, persian, portuguese, romanian, russian, sorani, spanish, swedish, thai, turkish, alapértelmezett: english. Nem adható meg, ha stopwords meg van adva. ignoreCase (típus: bool) – Ha igaz, az összes szó először kisbetűssé alakítódik. Az alapértelmezett érték hamis. removeTrailing (típus: bool) – Ha igaz, hagyja figyelmen kívül az utolsó keresési kifejezést, ha az egy stop szó. Az alapértelmezett érték igaz. |
| szinonima | SzinonimaTokenSzűrő | Egyszavas vagy többszavas szinonimákat keres egy tokenfolyamban. Beállítások szinonimák (típus: string tömb) – Kötelező. Szinonimák listája az alábbi két formátum egyikében: -hihetetlen, elképzelhetetlen, mesés => csodálatos - a bal oldalon található összes kifejezés helyébe a jobb oldalon található összes kifejezés lép. -hihetetlen, elképzelhetetlen, kiváló, csodálatos - A vesszővel tagolt lista egyenértékű szavakat. A kibontás beállításával módosíthatja a lista értelmezését. ignoreCase (típus: bool) – A bemenet kis- és nagybetű különbségeinek figyelmen kívül hagyása az egyeztetéshez. Az alapértelmezett érték hamis. expand (típus: bool) – Ha igaz értékű, a szinonimák listájában szereplő összes szó (ha => jelölés nincs használatban) kölcsönösen megfelelnek egymásnak. A következő lista: hihetetlen, hihetetlen, mesés, csodálatos egyenértékű: hihetetlen, hihetetlen, mesés, csodálatos => hihetetlen, hihetetlen, mesés, csodálatos - Ha hamis, a következő lista: hihetetlen, hihetetlen, mesés, csodálatos egyenértékű: hihetetlen, hihetetlen, mesés, csodálatos => hihetetlen. |
| nyír | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Levágja a kezdő és a záró szóközöket a tokenekből. |
| megcsonkít | CsonkítTokenSzűrő | A kifejezéseket egy adott hosszra csonkolja. Beállítások hossz (típus: int) – Alapértelmezett: 300, maximum: 300. Szükséges. |
| egyedülálló | UniqueTokenFilter | Kiszűri azokat a tokeneket, amelyek ugyanazt a szöveget tartalmazzák, mint az előző token. Beállítások onlyOnSamePosition (típus: bool) – Ha be van állítva, távolítsa el az ismétlődéseket csak ugyanabban a pozícióban. Az alapértelmezett érték igaz. |
| nagybetűs | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A token szöveget nagybetűssé alakítja. |
| word_delimiter | WordDelimiterTokenFilter | A szavakat alszavakra osztja, és opcionális átalakításokat hajt végre az alszavas csoportokon. Beállítások generateWordParts (típus: bool) – A szavak egyes részeinek generálását okozza, például AzureSearch .AzureSearch Az alapértelmezett érték igaz.generateNumberParts (típus: bool) – Szám alszavak generálását okozza. Az alapértelmezett érték igaz. catenateWords (típus: bool) – A szórészek maximális csoportjait összefűzi, például Azure-SearchAzureSearch lesz. Az alapértelmezett érték hamis.catenateNumbers (típus: bool) – A számrészek maximális futását okozza, például 1-2 a következő lesz 12: . Az alapértelmezett érték hamis.catenateAll (típus: bool) – Összefűzi az összes alszórészt, például Azure-Search-1AzureSearch1 lesz. Az alapértelmezett érték hamis.splitOnCaseChange (típus: bool) – Ha igaz, felosztja a szavakat a caseChange fájlban, például AzureSearch .AzureSearch Az alapértelmezett érték igaz.preserveOriginal – Az eredeti szavak megőrzését és az alszavak listájához való hozzáadását okozza. Az alapértelmezett érték hamis. splitOnNumerics (típus: bool) – Ha igaz, a számok mentén osztja fel, például Azure1Search lesz Azure1Search. Az alapértelmezett érték igaz.stemEnglishPossessive (típus: bool) – Eltávolítja az angol birtokos végződést az egyes alszavak végéről 's. Az alapértelmezett érték igaz.protectedWords (típus: karakterlánctömb) – Tokenek, amelyeket nem kell tagolni. Az alapértelmezett érték egy üres lista. |
1 A token szűrőtípusok a kódban mindig előtaggal szerepelnek #Microsoft.Azure.Search, így ArabicNormalizationTokenFilter valójában #Microsoft.Azure.Search.ArabicNormalizationTokenFilter formájában van megadva. Eltávolítottuk az előtagot a tábla szélességének csökkentése érdekében, de ne feledje beilleszteni a kódjába.