Egyéni elemzők hozzáadása sztringmezőkhöz egy Azure AI Search-indexben
Az egyéni elemző egy jogkivonat-elemző, egy vagy több jogkivonatszű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 jogkivonatokra bontja a szöveget. Végül a jogkivonatszűrők módosítják a jogkivonat-kibocsátó által kibocsátott jogkivonatokat. Fogalmakért és példákért lásd : Elemzők az Azure AI Searchben.
Miért érdemes egyéni elemzőt használni?
Az egyéni elemzők segítségével szabályozhatja a szöveg indexelhető és kereshető jogkivonatokká alakításának folyamatát, így kiválaszthatja, hogy milyen elemzési vagy szűrési típusokat kell meghívnia, és hogy milyen sorrendben történjenek.
Hozzon létre és rendeljen hozzá egyéni elemzőt, ha az alapértelmezett (Standard Lucence), 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 standard maxTokenLength értékét szeretné módosítani, egy felhasználó által definiált névvel rendelkező egyéni elemzőt hozna létre a beállítás beállításához.
Olyan forgatókönyvek, ahol az egyéni elemzők hasznosak lehetnek:
Karakterszűrők használata a HTML-korrektúra eltávolításához a szövegbevitelek jogkivonatos létrehozása előtt, vagy bizonyos karakterek vagy szimbólumok cseréje.
Fonetikus keresés. Adjon hozzá egy fonetikai szűrőt, amely lehetővé teszi a keresést a szó hangzik, nem pedig a helyesírása alapján.
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 jogkivonat 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 jogkivonat szűrővel az utótagegyezéshez.
Egyéni tokenizálás. A Whitespace tokenizer használatával például a mondatokat jogkivonatokra bonthatja elválasztóként használva a whitespace-t
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.
Feljegyzé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 indexet meghatározó kód.
Egyéni elemző létrehozása
Egyéni elemző létrehozásához a tervezéskor adja meg az analyzers
index szakaszában, majd hivatkozzon rá kereshető mezőkre Edm.String
a analyzer
tulajdonság vagy a indexAnalyzer
pár searchAnalyzer
használatával.
Az elemződefiníciók egy nevet, típust, egy vagy több karakterszűrőt, legfeljebb egy jogkivonat-jelölőt és egy vagy több jogkivonatszűrőt tartalmaznak a jogkivonat-feldolgozáshoz. A rendszer a tokenizálás előtt karakterszűrőket alkalmaz. A jogkivonatszűrők és a karakterszűrők balról jobbra vannak alkalmazva.
Az egyéni elemzők neveinek egyedinek kell lenniük, és nem lehetnek azonosak a beépített elemzőkkel, jogkivonat-elemzőkkel, jogkivonatszűrőkkel vagy karakterszűrőkkel. Csak betűket, számjegyeket, szóközöket, kötőjeleket vagy aláhúzásjeleket tartalmazhat, csak alfanumerikus karakterekkel kezdődhet és végződhet, és legfeljebb 128 karakter hosszúságú lehet.
A típusnak #Microsoft.Azure.Search.CustomAnalyzer típusúnak kell lennie.
charFilters
A 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 egycharFilters
szakaszban állíthatók be. A karakterszűrők megadása nem kötelező.tokenizer
pontosan 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.tokenFilters
A jogkivonat-szűrők egy vagy több szűrője lehet, amelyet a jogkivonat-készítés után, a megadott sorrendben dolgoznak fel. A beállításokat tartalmazó jogkivonatszűrőkhöz adjon hozzá egy szakaszttokenFilter
a konfiguráció megadásához. A jogkivonatszű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ú jogkivonat levágásához vagy kizárásához használja a TruncateTokenFiltert és a LengthTokenFiltert . 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 jogkivonatszűrők definíciói csak akkor lesznek hozzáadva az indexhez, ha egyéni beállításokat ad meg. Ha meglévő szűrőt vagy jogkivonat-jelö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 Searchben.
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 jogkivonatokká.
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 jogkivonatszű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 jogkivonatké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 | PatternAnalyzer | 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+ nem szó karakterekkel egyező. jelölők (típus: sztring) – Reguláris kifejezésjelölők. 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 | Standard Lucene-elemző, amely a standard tokenizerből, kisbetűs szűrőből és stop szűrőből áll. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza. Az alapértelmezett érték 255. A maximális hossznál hosszabb jogkivonatok fel vannak osztva. A használható jogkivonatok 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 | Nem betűkkel osztja el a szöveget, alkalmazza a kisbetűs és a stopword jogkivonat szűrőit. 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) | A whitespace tokenizert használó elemző. A 255 karakternél hosszabb jogkivonatok fel vannak osztva. |
1 Az elemzőtípusok mindig előtaggal vannak elnevezett kódban, olyanokkal #Microsoft.Azure.Search
, amelyek PatternAnalyzer
valójában a következőként #Microsoft.Azure.Search.PatternAnalyzer
vannak megadva: . Eltávolítottuk a rövidítés előtagját, de az előtagra a kódban van szükség.
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 adnak hozzá, mielőtt egy sztring elérné a tokenizert.
Az Azure AI Search 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_type 1 | 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 | MappingCharFilter | Karakterszűrő, amely a leképezési beállítással definiált leképezéseket alkalmazza. A megfeleltetés kapzsi (egy adott pontnál a leghosszabb egyező minta nyer). A csere lehet üres sztring. 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 b helyettesí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: sztring) – Kötelező. |
1 A karakterszűrő-típusok mindig előtaggal vannak elnevezett kódban olyanokkal #Microsoft.Azure.Search
, amelyek MappingCharFilter
valójában a következőként #Microsoft.Azure.Search.MappingCharFilter
vannak megadva: . Eltávolítottuk az előtagot a táblázat szélességének csökkentése érdekében, de ne felejtse el felvenni a kódba. 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.
Tokenizers
A jogkivonat-szabályzók a folyamatos szöveget jogkivonatok sorozatára osztják, például egy mondat szavakra való feltörését, vagy egy szót gyökéralakokká.
Az Azure AI Search az alábbi listában támogatja a tokenizereket. Mindegyikről további információt a Lucene API-referencia tartalmaz.
tokenizer_name | tokenizer_type 1 | Leírás és beállítások |
---|---|---|
klasszikus | ClassicTokenizer | Nyelvtanalapú tokenizer, amely alkalmas a legtöbb európai nyelvű dokumentum feldolgozására. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb jogkivonatok fel vannak osztva. |
edgeNGram | EdgeNGramTokenizer | Tokenizálja a bemenetet egy élről n-grammra adott méret(ek)be. 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. |
keyword_v2 | KeywordTokenizerV2 | A teljes bemenetet egyetlen jogkivonatként bocsátja ki. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza. Alapértelmezett: 256, maximum: 300. A maximális hossznál hosszabb jogkivonatok fel vannak osztva. |
levél | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A szöveget nem betűkkel osztja el. A 255 karakternél hosszabb jogkivonatok fel vannak osztva. |
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 jogkivonatok fel vannak osztva. |
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 jogkivonatok fel vannak osztva. 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) – Igaz értékre van állítva, ha keresési jogkivonat-képzőként használják, hamis értékre, ha indexelő tokenizerké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 , , thai japanese italian portugueseBrazilian portuguese punjabi polish norwegianBokmaal marathi romanian malayalam malay korean russian kannada indonesian serbianCyrillic swedish spanish tamil slovenian telugu ukrainian german gujarati urdu greek hindi icelandic serbianLatin french 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 jogkivonatok fel vannak osztva. 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) – Igaz értékre van állítva, ha keresési jogkivonat-képzőként használják, hamis értékre, ha indexelő tokenizerké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 , portugueseBrazilian hindi hungarian icelandic indonesian hebrew kannada italian punjabi portuguese romanian polish norwegianBokmaal marathi russian malayalam malay lithuanian serbianCyrillic latvian gujarati serbianLatin swedish spanish tamil slovenian telugu turkish estonian french ukrainian finnish german greek slovak english urdu |
nGram | NGramTokenizer | Tokenizálja a bemenetet az adott méret(ek) n-grammjára. 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 jogkivonat 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 jogkivonatot. Alapértelmezett érték: false (hamis). skip (típus: bool) – A kihagyandó kezdeti tokenek. Az alapértelmezett érték a 0. |
minta | PatternTokenizer | Ez a tokenizer regex mintaegyezést használ a különböző jogkivonatok létrehozásához. Beállítások minta (típus: sztring) – Reguláris kifejezésminta a tokenelválasztókkal való egyeztetéshez. Az alapértelmezett érték a \W+ nem szó karakterekkel egyező. jelölők (típus: sztring) – Reguláris kifejezésjelölők. 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 jogkivonatokba kinyerni. Az alapértelmezett érték -1 (felosztás). |
standard_v2 | StandardTokenizerV2 | A Unicode szövegszegmentálási szabályokat követő szövegtörések. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb jogkivonatok fel vannak osztva. |
uax_url_email | UaxUrlEmailTokenizer | Tokenizes URL-címek és e-mailek egy jogkivonatként. Beállítások maxTokenLength (típus: int) – A jogkivonat maximális hossza. Alapértelmezett: 255, maximum: 300. A maximális hossznál hosszabb jogkivonatok fel vannak osztva. |
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 jogkivonatok fel vannak osztva. |
1 A jogkivonat-típusok mindig előre vannak adva a kódban, olyanokkal #Microsoft.Azure.Search
, amelyek ClassicTokenizer
valójában a következőként #Microsoft.Azure.Search.ClassicTokenizer
vannak megadva: . Eltávolítottuk az előtagot a táblázat szélességének csökkentése érdekében, de ne felejtse el felvenni a kódba. Figyelje meg, hogy tokenizer_type csak testre szabható tokenizerekhez van megadva. Ha nincsenek lehetőségek, ahogyan a betű jogkivonat-szabályzó esetében is, nincs társított #Microsoft.Azure.Search-típus.
Jogkivonatszűrők
A jogkivonatszűrővel kiszűrheti vagy módosíthatja a jogkivonat-létrehozó által létrehozott jogkivonatokat. 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 jogkivonatszűrő is használható. A jogkivonatszű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_type 1 | Leírás és beállítások |
---|---|---|
arabic_normalization | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Jogkivonatszűrő, amely az arab normalizálót alkalmazza az ortográfia normalizálására. |
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, az eredeti jogkivonat 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-variánsokat a megfelelő egyszerű latin és félszélességű Katakana-változatokra hajtja a megfelelő kanába. |
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űszókat. |
common_grams | CommonGramTokenFilter | Bigramokat hozhat létre az indexelés során gyakran előforduló kifejezésekhez. Az egyes kifejezések továbbra is indexelve vannak, és a bigramok túl vannak osztva. 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 érzéketlen a kis- és nagybetűk között. Az alapértelmezett érték hamis. queryMode (típus: bool) – Bigramokat hoz létre, majd eltávolítja a közös szavakat és az önálló kifejezéseket, majd egy közös szót. Az alapértelmezett érték hamis. |
dictionary_decompounder | DictionaryDecompounderTokenFilter | 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(ek) n grammját generálja egy bemeneti jogkivonat elejétől vagy hátuljától kezdve. 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: sztring) – Megadja, hogy az n-gram melyik oldaláról kell generálni az n-gramot. Engedélyezett értékek: front , back |
elision | ElisionTokenFilter | Eltávolítja az elisionst. A rendszer például l'avion (a sík) a (sík) lesz avion .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. |
german_normalization | (a típus csak akkor érvényes, ha a beállítások elérhetők) | Normalizálja a német karaktereket a német2 hógolyó algoritmus heurisztikusai 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 | IndicNormalizationTokenFilter | Normalizálja a szöveg Unicode-ábrázolását indiai nyelveken. |
tart | KeepTokenFilter | Olyan jogkivonatszűrő, amely csak a megadott szavak listájában lévő szöveggel rendelkező jogkivonatokat tárolja. 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, kisbetűs az összes szó először. Az alapértelmezett érték hamis. |
keyword_marker | KeywordMarkerTokenFilter | 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, kisbetűs az összes szó. 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 bejövő jogkivonatot kétszer bocsát ki 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) | LengthTokenFilter | 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 jogkivonatok 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 jogkivonatát akkor is fel kell-e használni, 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 jogkivonat szövegének normalizálása kisbetűsre. |
nGram_v2 | NGramTokenFilterV2 | A megadott méret(ek) n grammjá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 regexes használatával több jogkivonatot bocsát ki, egyet pedig minden rögzítési csoporthoz 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 jogkivonatszűrő, amely mintát alkalmaz a stream minden jogkivonatára, és lecseréli az előfordulásokat a megadott cseresztringre. Beállítások minta (típus: sztring) – Kötelező. csere (típus: sztring) – Kötelező. |
persian_normalization | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A perzsa normalizálását alkalmazza. |
Fonetikus | PhoneticTokenFilter | Jogkivonatok 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 , nysiis . koelnerPhonetik beiderMorse caverphone2 cologne haasePhonetik Alapértelmezett: metaphone . Az alapértelmezett 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 jogkivonat-adatfolyamot a Porter által generált algoritmus szerint. |
ellentét | (a típus csak akkor érvényes, ha a beállítások elérhetők) | A jogkivonat sztringjének megfordítása. |
scandinavian_normalization | (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 diszkriminálja a dupla magánhangzók aa oe ae ao használatát, és oo csak az elsőt hagyja. |
zsindely | ShingleTokenFilter | A jogkivonatok kombinációit egyetlen jogkivonatké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 jogkivonatokat (unigramokat) és az övsömöröket. 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 övsömör. Az alapértelmezett érték hamis. tokenSeparator (típus: sztring) – A szomszédos tokenek összekapcsolásakor használandó sztring zsindely létrehozásához. Az alapértelmezett érték egyetlen üres terület . filterToken (típus: sztring) – Minden olyan pozícióhoz beszúrandó sztring, amelyhez nincs jogkivonat. Az alapértelmezett érték _ . |
hógolyó | SnowballTokenFilter | 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 , , kp spanish portuguese porter romanian russian german hungarian swedish german2 italian lovins norwegian french turkish |
sorani_normalization | SoraniNormalizationTokenFilter | 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 szárító szűrők elé kell helyezni. Beállítások szabályok (típus: sztringtömb) – Szabálykövetési szabályok például ran => run a következő formátumbanword => stem . Az alapértelmezett érték egy üres lista. Szükséges. |
stopwords | StopwordsTokenFilter | Eltávolítja a leállító szavakat egy jogkivonat-adatfolyambó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. Ha meg van adva, nem adható meg stopwords . Az engedélyezett értékek: :arabic , , armenian basque , brazilian , bulgarian , czech catalan , danish dutch finnish english , french , german galician greek hindi italian irish latvian indonesian norwegian persian romanian sorani spanish russian hungarian portuguese swedish , thai , turkish alapértelmezett: . english Ha meg van adva, nem adható meg stopwords . ignoreCase (típus: bool) – Ha igaz, az összes szó kisbetűs. 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 | SzinonimaTokenFilter | Egy- vagy többszavas szinonimák egy jogkivonat-streamben. Beállítások szinonimák (típus: sztringtömb) – Kötelező. Szinonimák listája az alábbi két formátum egyikében: -hihetetlen, hihetetlen, mesés => csodálatos - minden kifejezés a bal oldalon => szimbólum helyébe minden kifejezés a jobb oldalon. -hihetetlen, hihetetlen, mesés, 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) – Kis- és nagybetűk bemenete az egyeztetéshez. Az alapértelmezett érték hamis. expand (type: bool) – Ha igaz, a szinonimák listájában szereplő összes szó (ha => jelölés nincs használva) megfelelteti egymást. 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űek: 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özt a jogkivonatokból. |
megcsonkít | TruncateTokenFilter | 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 a jogkivonatokat ugyanazzal a szöveggel, mint az előző jogkivonat. 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 jogkivonat szövegének normalizálása nagybetűsre. |
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 .Azure Search 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 futását okozza, például Azure-Search AzureSearch . 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) – Az összes alszórészt katekatenak okozza, például Azure-Search-1 .AzureSearch1 Az alapértelmezett érték hamis.splitOnCaseChange (típus: bool) – Ha igaz, felosztja a szavakat a caseChange fájlban, például AzureSearch .Azure Search 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 felosztása, például Azure1Search .Azure 1 Search Az alapértelmezett érték igaz.stemEnglishPossessive (típus: bool) – Az egyes alszavak záró okai 's . Az alapértelmezett érték igaz.protectedWords (típus: karakterlánctömb) – Jogkivonatok a tagolástól való védelemhez. Az alapértelmezett érték egy üres lista. |
1 A jogkivonat szűrőtípusai mindig előtaggal vannak elnevezett kódban, olyanokkal #Microsoft.Azure.Search
, amelyek ArabicNormalizationTokenFilter
valójában a következőként #Microsoft.Azure.Search.ArabicNormalizationTokenFilter
vannak megadva: . Eltávolítottuk az előtagot a táblázat szélességének csökkentése érdekében, de ne felejtse el felvenni a kódba.