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.

  • Telefon 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.

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 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.

  • 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 egy charFilters 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.

  • tokenFiltersA 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 szakaszt tokenFilter 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, CA Standard kiadás_INStandard kiadás NSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CAStandard kiadás, 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.
Standard
(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.PatternAnalyzervannak 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.
Hozzárendelé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 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: 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.MappingCharFiltervannak 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, punctuationsymbol. 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, danishdutch, english, , thaijapaneseitalianportugueseBrazilianportuguesepunjabipolishnorwegianBokmaalmarathiromanianmalayalammalaykoreanrussiankannadaindonesianserbianCyrillicswedishspanishtamilslovenianteluguukrainiangermangujaratiurdugreekhindiicelandicserbianLatinfrenchvietnamese
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, portugueseBrazilianhindihungarianicelandicindonesianhebrewkannadaitalianpunjabiportugueseromanianpolishnorwegianBokmaalmarathirussianmalayalammalaylithuanianserbianCyrilliclatviangujaratiserbianLatinswedishspanishtamilslovenianteluguturkishestonianfrenchukrainianfinnishgermangreekslovakenglishurdu
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, CA Standard kiadás_INStandard kiadás NSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CAStandard kiadás, 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.ClassicTokenizervannak 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.
Tartsa 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átoz 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 Telefon ticTokenFilter Jogkivonatok létrehozása fonetikus egyezésekhez.

Beállítások

kódoló (típus: sztring) – Telefon használandó kódoló. Az engedélyezett értékek a következők: metaphone, doubleMetaphone, soundex, refinedSoundex, caverphone1, nysiis. koelnerPhonetikbeiderMorsecaverphone2colognehaasePhonetik 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.
Fordított (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 aaoeaeaohasználatát, és oocsak 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, catalandanish, dutch, english, finnish, , kpspanishportugueseporterromanianrussiangermanhungarianswedishgerman2italianlovinsnorwegianfrenchturkish
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 => runa 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, , armenianbasque, brazilian, bulgarian, czechcatalan, danishdutchfinnishenglish, french, germangaliciangreekhindiitalianirishlatvianindonesiannorwegianpersianromaniansoranispanishrussianhungarianportugueseswedish, thai, turkishalapé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.
Szinonimája 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.
Berendezés (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.
Egyedi 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 .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 futását okozza, például Azure-SearchAzureSearch. 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 .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 felosztása, például Azure1Search .Azure1Search 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.ArabicNormalizationTokenFiltervannak 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.

Kapcsolódó információk