Lägga till anpassade analysverktyg i strängfält i ett Azure AI Search-index

En anpassad analysator är en användardefinierad kombination av en tokeniserare, ett eller flera tokenfilter och ett eller flera teckenfilter. En anpassad analysator anges i ett sökindex och refereras sedan med namn på fältdefinitioner som kräver anpassad analys. En anpassad analysator anropas per fält. Attribut i fältet avgör om det används för indexering, frågor eller båda.

I en anpassad analysator förbereder teckenfilter indatatexten innan den bearbetas av tokenizern (till exempel genom att ta bort markering). Därefter delar tokeniseraren upp text i token. Slutligen ändrar tokenfilter de token som genereras av tokenizern. Begrepp och exempel finns i Analyserare i Azure AI Search.

Varför ska du använda en anpassad analysator?

En anpassad analysator ger dig kontroll över processen att konvertera text till indexerbara och sökbara token genom att låta dig välja vilka typer av analys eller filtrering som ska anropas och i vilken ordning de inträffar.

Skapa och tilldela en anpassad analysator om ingen standardanalys (Standard Lucence), inbyggda analysverktyg eller språkanalysverktyg räcker för dina behov. Du kan också skapa en anpassad analysator om du vill använda en inbyggd analysator med anpassade alternativ. Om du till exempel vill ändra maxTokenLength på Standard skapar du en anpassad analysator med ett användardefinierat namn för att ange det alternativet.

Scenarier där anpassade analysverktyg kan vara användbara är:

  • Använd teckenfilter för att ta bort HTML-kod innan textinmatningar tokeniseras eller ersätta vissa tecken eller symboler.

  • Telefon tisk sökning. Lägg till ett fonetikfilter för att aktivera sökning baserat på hur ett ord låter, inte hur det stavas.

  • Inaktivera lexikal analys. Använd nyckelordsanalysen för att skapa sökbara fält som inte analyseras.

  • Snabb prefix-/suffixsökning. Lägg till filtret Edge N-gram token för att indexera prefix för ord för att aktivera snabb prefixmatchning. Kombinera det med filtret Omvänd token för att utföra suffixmatchning.

  • Anpassad tokenisering. Använd t.ex. blankstegstokeniseraren för att dela upp meningar i token med blanksteg som avgränsare

  • ASCII-vikning. Lägg till standard-ASCII-vikningsfiltret för att normalisera diakritiska tecken som ö eller ê i söktermer.

Kommentar

Anpassade analysverktyg exponeras inte i Azure-portalen. Det enda sättet att lägga till en anpassad analys är genom kod som definierar ett index.

Skapa ett anpassat analysverktyg

Om du vill skapa en anpassad analysator anger du den analyzers i avsnittet i ett index vid designtillfället och refererar sedan till den i sökbara fält med Edm.String antingen analyzer egenskapen eller indexAnalyzer paret och searchAnalyzer .

En analysdefinition innehåller ett namn, en typ, ett eller flera teckenfilter, högst en tokenizer och ett eller flera tokenfilter för bearbetning efter tokenisering. Teckenfilter tillämpas före tokenisering. Tokenfilter och teckenfilter tillämpas från vänster till höger.

  • Namn i en anpassad analysverktyg måste vara unika och får inte vara samma som någon av de inbyggda analysverktygen, tokenizers, tokenfilter eller teckenfilter. Den får bara innehålla bokstäver, siffror, blanksteg, bindestreck eller understreck, kan bara börja och sluta med alfanumeriska tecken och är begränsad till 128 tecken.

  • Typen måste vara #Microsoft.Azure.Search.CustomAnalyzer.

  • charFilters kan vara ett eller flera filter från teckenfilter som bearbetas före tokenisering i den angivna ordningen. Vissa teckenfilter har alternativ som kan anges i ett charFilters avsnitt. Teckenfilter är valfria.

  • tokenizer är exakt en Tokenizer. Ett värde krävs. Om du behöver mer än en tokenizer kan du skapa flera anpassade analysverktyg och tilldela dem fält för fält i indexschemat.

  • tokenFilters kan vara ett eller flera filter från tokenfilter, som bearbetas efter tokenisering, i den angivna ordningen. För tokenfilter som har alternativ lägger du till ett tokenFilter avsnitt för att ange konfigurationen. Tokenfilter är valfria.

Analysverktyg får inte skapa token som är längre än 300 tecken, annars misslyckas indexeringen. Om du vill trimma en lång token eller exkludera dem använder du TruncateTokenFilter respektive LengthTokenFilter . Se Tokenfilter för referens.

"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,
      ...
   }
]

I en indexdefinition kan du placera det här avsnittet var som helst i brödtexten i en begäran om att skapa index, men vanligtvis hamnar det i slutet:

{
  "name": "name_of_index",
  "fields": [ ],
  "suggesters": [ ],
  "scoringProfiles": [ ],
  "defaultScoringProfile": (optional) "...",
  "corsOptions": (optional) { },
  "analyzers":(optional)[ ],
  "charFilters":(optional)[ ],
  "tokenizers":(optional)[ ],
  "tokenFilters":(optional)[ ]
}

Analysatorns definition är en del av det större indexet. Definitioner för teckenfilter, tokenizers och tokenfilter läggs bara till i indexet om du anger anpassade alternativ. Om du vill använda ett befintligt filter eller tokeniserare i befintligt läge anger du det efter namn i analysdefinitionen. Mer information finns i Skapa index (REST). Fler exempel finns i Lägga till analysverktyg i Azure AI Search.

Testa anpassade analysverktyg

Du kan använda Test Analyzer (REST) för att se hur en analysator delar upp den angivna texten i token.

Begär

  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"
  }

Svar

  {
    "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
      }
    ]
  }

Uppdatera anpassade analysverktyg

När en analysator, en tokenizer, ett tokenfilter eller ett teckenfilter har definierats kan den inte ändras. Nya kan bara läggas till i ett befintligt index om allowIndexDowntime flaggan är inställd på true i begäran om indexuppdatering:

PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true

Den här åtgärden tar ditt index offline i minst några sekunder, vilket gör att indexerings- och frågebegäranden misslyckas. Prestanda- och skrivtillgängligheten för indexet kan försämras i flera minuter efter att indexet har uppdaterats eller längre för mycket stora index, men dessa effekter är tillfälliga och löses slutligen på egen hand.

Inbyggda analysverktyg

Om du vill använda en inbyggd analysator med anpassade alternativ är det den mekanism som du anger dessa alternativ för att skapa en anpassad analysator. Om du däremot vill använda en inbyggd analysator som den är behöver du bara referera till den med namn i fältdefinitionen.

analyzer_name analyzer_type 1 Beskrivning och alternativ
Sökord (typ gäller endast när alternativ är tillgängliga) Behandlar hela innehållet i ett fält som en enda token. Detta är användbart för data som postnummer, ID och vissa produktnamn.
Mönster PatternAnalyzer Flexibelt separerar text i termer via ett reguljärt uttrycksmönster.

Alternativ

gemener (typ: bool) – Avgör om termerna är nedsänkta. Standardvärdet är sant.

pattern (type: string) – Ett mönster för reguljära uttryck som matchar tokenavgränsare. Standardvärdet är \W+, som matchar icke-ordtecken.

flaggor (typ: sträng) – Reguljära uttrycksflaggor. Standardvärdet är en tom sträng. Tillåtna värden: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES

stopwords (typ: strängmatris) – En lista med stoppord. Standardvärdet är en tom lista.
Enkel (typ gäller endast när alternativ är tillgängliga) Delar upp text med icke-bokstäver och konverterar dem till gemener.
standard
(Kallas även standard.lucene)
StandardAnalyzer Standard Lucene Analyzer, som består av standardtokeniseraren, gemener och stoppfilter.

Alternativ

maxTokenLength (typ: int) – Maximal tokenlängd. Standardvärdet är 255. Token som är längre än den maximala längden delas upp. Maximal tokenlängd som kan användas är 300 tecken.

stopwords (typ: strängmatris) – En lista med stoppord. Standardvärdet är en tom lista.
standardasciifolding.lucene (typ gäller endast när alternativ är tillgängliga) Standardanalys med Ascii-vikningsfilter.
Stanna StopAnalyzer Delar upp text med icke-bokstäver, tillämpar filter för gemener och stoppordstoken.

Alternativ

stopwords (typ: strängmatris) – En lista med stoppord. Standardvärdet är en fördefinierad lista för engelska.
Blanksteg (typ gäller endast när alternativ är tillgängliga) En analysator som använder blankstegstokeniseraren. Token som är längre än 255 tecken delas.

1 Analyserartyper är alltid prefix i kod med #Microsoft.Azure.Search sådana som PatternAnalyzer faktiskt skulle anges som #Microsoft.Azure.Search.PatternAnalyzer. Prefixet för korthet har tagits bort, men prefixet krävs i koden.

Analyzer_type tillhandahålls endast för analysverktyg som kan anpassas. Om det inte finns några alternativ, vilket är fallet med nyckelordsanalysen, finns det ingen associerad #Microsoft.Azure.Search-typ.

Teckenfilter

Teckenfilter lägger till bearbetning innan en sträng når tokenizern.

Azure AI Search stöder teckenfilter i följande lista. Mer information om var och en finns i Lucene API-referensen.

char_filter_name char_filter_type 1 Beskrivning och alternativ
html_strip (typ gäller endast när alternativ är tillgängliga) Ett teckenfilter som försöker ta bort HTML-konstruktioner.
mapping MappingCharFilter Ett teckenfilter som tillämpar mappningar som definierats med mappningsalternativet. Matchningen är girig (längst mönstermatchning vid en given poäng vinner). Ersättning tillåts vara den tomma strängen.

Alternativ

mappningar (typ: strängmatris) – En lista över mappningar i följande format: a=>b (alla förekomster av tecknet a ersätts med tecknet b). Obligatoriska.
pattern_replace PatternReplaceCharFilter Ett teckenfilter som ersätter tecken i indatasträngen. Det använder ett reguljärt uttryck för att identifiera teckensekvenser som ska bevaras och ett ersättningsmönster för att identifiera tecken som ska ersättas. Till exempel indatatext = aa bb aa bb, pattern=(aa)\\\s+(bb) replacement=$1#$2, result = aa#bb aa#bb.

Alternativ

mönster (typ: sträng) – Obligatoriskt.

ersättning (typ: sträng) – Krävs.

1 Teckenfiltertyper är alltid prefix i kod med #Microsoft.Azure.Search sådana som MappingCharFilter faktiskt skulle anges som #Microsoft.Azure.Search.MappingCharFilter. Vi har tagit bort prefixet för att minska tabellens bredd, men kom ihåg att inkludera det i koden. Observera att char_filter_type endast tillhandahålls för filter som kan anpassas. Om det inte finns några alternativ, vilket är fallet med html_strip, finns det ingen associerad #Microsoft.Azure.Search-typ.

Tokenizers

En tokeniserare delar in kontinuerlig text i en sekvens med token, till exempel att dela upp en mening i ord eller ett ord i rotformer.

Azure AI Search stöder tokenizers i följande lista. Mer information om var och en finns i Lucene API-referensen.

tokenizer_name tokenizer_type 1 Beskrivning och alternativ
Klassiska ClassicTokenizer Grammatikbaserad tokenizer som är lämplig för bearbetning av de flesta europeiska dokument.

Alternativ

maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 255, max: 300. Token som är längre än den maximala längden delas upp.
edgeNGram EdgeNGramTokenizer Tokeniserar indata från en kant till n-gram av angiven storlek.

Alternativ

minGram (typ: int) – Standard: 1, max: 300.

maxGram (typ: int) – Standard: 2, max: 300. Måste vara större än minGram.

tokenChars (typ: strängmatris) – Teckenklasser som ska behållas i token. Tillåtna värden:
letter, digit, whitespace, punctuation, symbol. Standardvärdet är en tom matris – behåller alla tecken.
keyword_v2 KeywordTokenizerV2 Genererar hela indata som en enda token.

Alternativ

maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 256, max: 300. Token som är längre än den maximala längden delas upp.
Brev (typ gäller endast när alternativ är tillgängliga) Delar upp text med icke-bokstäver. Token som är längre än 255 tecken delas.
Gemener (typ gäller endast när alternativ är tillgängliga) Delar upp text med icke-bokstäver och konverterar dem till gemener. Token som är längre än 255 tecken delas.
microsoft_language_tokenizer MicrosoftLanguageTokenizer Delar upp text med hjälp av språkspecifika regler.

Alternativ

maxTokenLength (typ: int) – Den maximala tokenlängden, standard: 255, max: 300. Token som är längre än den maximala längden delas upp. Token som är längre än 300 tecken delas först upp i token med längd 300 och sedan delas var och en av dessa token upp baserat på maxTokenLength-uppsättningen.

isSearchTokenizer (typ: bool) – Ställ in på sant om det används som söktokeniserare, inställt på false om det används som indexeringstokeniserare.

language (type: string) – Language to use, default english. Tillåtna värden är:
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 Delar upp text med hjälp av språkspecifika regler och reducerar ord till deras basformulär. Den här tokenizern utför lemmatisering.

Alternativ

maxTokenLength (typ: int) – Den maximala tokenlängden, standard: 255, max: 300. Token som är längre än den maximala längden delas upp. Token som är längre än 300 tecken delas först upp i token med längd 300 och sedan delas var och en av dessa token upp baserat på maxTokenLength-uppsättningen.

isSearchTokenizer (typ: bool) – Ställ in på sant om det används som söktokeniserare, inställt på false om det används som indexeringstokeniserare.

language (type: string) – Language to use, default english. Tillåtna värden är:
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 Tokeniserar indata till n-gram av de angivna storlekarna.

Alternativ

minGram (typ: int) – Standard: 1, max: 300.

maxGram (typ: int) – Standard: 2, max: 300. Måste vara större än minGram.

tokenChars (typ: strängmatris) – Teckenklasser som ska behållas i token. Tillåtna värden: letter, digit, whitespace, punctuation, symbol. Standardvärdet är en tom matris – behåller alla tecken.
path_hierarchy_v2 PathHierarchyTokenizerV2 Tokenizer för sökvägsliknande hierarkier. Alternativ

avgränsare (typ: sträng) – Standard: '/.

ersättning (typ: sträng) – Om det anges ersätter avgränsaren tecknet. Standardvärdet är samma som värdet för avgränsare.

maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 300, max: 300. Sökvägar som är längre än maxTokenLength ignoreras.

omvänd (typ: bool) – Om sant genererar token i omvänd ordning. Standard: falskt.

skip (type: bool) – Inledande token att hoppa över. Standardvärdet är 0.
Mönster PatternTokenizer Den här tokenizern använder regex-mönstermatchning för att konstruera distinkta token.

Alternativ

mönster (typ: sträng) – Reguljärt uttrycksmönster för att matcha tokenavgränsare. Standardvärdet är \W+, som matchar icke-ordtecken.

flaggor (typ: sträng) – Reguljära uttrycksflaggor. Standardvärdet är en tom sträng. Tillåtna värden: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES

group (type: int) – Vilken grupp som ska extraheras till token. Standardvärdet är -1 (delad).
standard_v2 StandardTokenizerV2 Bryter text efter Unicode-reglerna för textsegmentering.

Alternativ

maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 255, max: 300. Token som är längre än den maximala längden delas upp.
uax_url_email UaxUrlEmailTokenizer Tokeniserar URL:er och e-postmeddelanden som en token.

Alternativ

maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 255, max: 300. Token som är längre än den maximala längden delas upp.
Blanksteg (typ gäller endast när alternativ är tillgängliga) Delar upp text i blanksteg. Token som är längre än 255 tecken delas.

1 Tokenizer-typer är alltid prefix i kod med #Microsoft.Azure.Search sådana som ClassicTokenizer faktiskt skulle anges som #Microsoft.Azure.Search.ClassicTokenizer. Vi har tagit bort prefixet för att minska tabellens bredd, men kom ihåg att inkludera det i koden. Observera att tokenizer_type endast tillhandahålls för tokenizers som kan anpassas. Om det inte finns några alternativ, vilket är fallet med bokstavstokeniseraren, finns det ingen associerad #Microsoft.Azure.Search-typ.

Tokenfilter

Ett tokenfilter används för att filtrera bort eller ändra de token som genereras av en tokenizer. Du kan till exempel ange ett gemener som konverterar alla tecken till gemener. Du kan ha flera tokenfilter i en anpassad analysator. Tokenfilter körs i den ordning de visas.

I tabellen nedan är de tokenfilter som implementeras med Apache Lucene länkade till Lucene API-dokumentationen.

token_filter_name token_filter_type 1 Beskrivning och alternativ
arabic_normalization (typ gäller endast när alternativ är tillgängliga) Ett tokenfilter som tillämpar den arabiska normaliseraren för att normalisera ortografin.
Apostrof (typ gäller endast när alternativ är tillgängliga) Tar bort alla tecken efter en apostrofer (inklusive själva apostrofen).
asciifolding AsciiFoldingTokenFilter Konverterar alfabetiska, numeriska och symboliska Unicode-tecken som inte finns i de första 127 ASCII-tecknen ( Basic Latin Unicode-blocket) till deras ASCII-motsvarigheter, om det finns något.

Alternativ

preserveOriginal (typ: bool) – Om sant behålls den ursprungliga token. Standardvärdet är falskt.
cjk_bigram CjkBigramTokenFilter Bildar bigrams av CJK-termer som genereras från StandardTokenizer.

Alternativ

ignoreScripts (typ: strängmatris) – Skript att ignorera. Tillåtna värden är: han, hiragana, katakana, hangul. Standardvärdet är en tom lista.

outputUnigrams (typ: bool) – Ställ in på sant om du alltid vill mata ut både unigram och bigrams. Standardvärdet är falskt.
cjk_width (typ gäller endast när alternativ är tillgängliga) Normaliserar skillnader i CJK-bredd. Viker ASCII-varianterna med full bredd till motsvarande katakanavarianter med grundläggande latin och halv bredd i motsvarande kana.
Klassiska (typ gäller endast när alternativ är tillgängliga) Tar bort engelska possessives och punkter från förkortningar.
common_grams CommonGramTokenFilter Skapa bigrams för ofta förekommande termer vid indexering. Enkla termer indexeras också, med bigrams överlagrade.

Alternativ

commonWords (typ: strängmatris) – Uppsättningen med vanliga ord. Standardvärdet är en tom lista. Obligatoriska.

ignoreCase (typ: bool) – Om sant är matchning skiftlägesokänsligt. Standardvärdet är falskt.

queryMode (typ: bool) – Genererar bigrams och tar sedan bort vanliga ord och enkla termer följt av ett vanligt ord. Standardvärdet är falskt.
dictionary_decompounder DictionaryDecompounderTokenFilter Sönderdelas sammansatta ord som finns på många germanska språk.

Alternativ

wordList (typ: strängmatris) – Listan med ord som ska matchas mot. Standardvärdet är en tom lista. Obligatoriska.

minWordSize (typ: int) – Endast ord längre än så bearbetas. Standardinställningen är 5.

minSubwordSize (typ: int) – Endast underord som är längre än detta matas ut. Standardinställningen är 2.

maxSubwordSize (typ: int) – Endast underord som är kortare än detta matas ut. Standardvärdet är 15.

onlyLongestMatch (typ: bool) – Lägg bara till det längsta matchande underordet i utdata. Standardvärdet är falskt.
edgeNGram_v2 EdgeNGramTokenFilterV2 Genererar n-gram av de angivna storlekarna från start framifrån eller baksidan av en indatatoken.

Alternativ

minGram (typ: int) – Standard: 1, max: 300.

maxGram (typ: int) – Standard: 2, max 300. Måste vara större än minGram.

side (typ: string) – Anger vilken sida av indata som n-gram ska genereras från. Tillåtna värden: front, back
elision ElisionTokenFilter Tar bort elisions. Till exempel l'avion konverteras (planet) till avion (plan).

Alternativ

artiklar (typ: strängmatris) – En uppsättning artiklar att ta bort. Standardvärdet är en tom lista. Om det inte finns någon lista över angivna artiklar tas alla franska artiklar som standard bort.
german_normalization (typ gäller endast när alternativ är tillgängliga) Normaliserar tyska tecken enligt heuristiken i german2 snowball-algoritmen .
hindi_normalization (typ gäller endast när alternativ är tillgängliga) Normaliserar text på hindi för att ta bort vissa skillnader i stavningsvariationer.
indic_normalization IndicNormalizationTokenFilter Normaliserar Unicode-representationen av text på indiska språk.
Hålla KeepTokenFilter Ett tokenfilter som bara behåller token med text i en angiven lista med ord.

Alternativ

keepWords (typ: strängmatris) – En lista med ord att behålla. Standardvärdet är en tom lista. Obligatoriska.

keepWordsCase (typ: bool) – Om sant, gemener alla ord först. Standardvärdet är falskt.
keyword_marker KeywordMarkerTokenFilter Markerar termer som nyckelord.

Alternativ

nyckelord (typ: strängmatris) – En lista med ord som ska markeras som nyckelord. Standardvärdet är en tom lista. Obligatoriska.

ignoreCase (typ: bool) – Om sant, gemener alla ord först. Standardvärdet är falskt.
keyword_repeat (typ gäller endast när alternativ är tillgängliga) Genererar varje inkommande token två gånger en gång som nyckelord och en gång som icke-nyckelord.
kstem (typ gäller endast när alternativ är tillgängliga) Ett högpresterande kstem filter för engelska.
length LengthTokenFilter Tar bort ord som är för långa eller för korta.

Alternativ

min (typ: int) – Det minsta antalet. Standard: 0, max: 300.

max (typ: int) – Det maximala antalet. Standard: 300, max: 300.
gräns Microsoft.Azure.Search.LimitTokenFilter Begränsar antalet token vid indexering.

Alternativ

maxTokenCount (typ: int) – Maximalt antal token som ska skapas. Standardvärdet är 1.

consumeAllTokens (typ: bool) – Om alla token från indata måste förbrukas även om maxTokenCount har nåtts. Standardvärdet är falskt.
Gemener (typ gäller endast när alternativ är tillgängliga) Normaliserar tokentext till gemener.
nGram_v2 NGramTokenFilterV2 Genererar n-gram av de angivna storlekarna.

Alternativ

minGram (typ: int) – Standard: 1, max: 300.

maxGram (typ: int) – Standard: 2, max 300. Måste vara större än minGram.
pattern_capture PatternCaptureTokenFilter Använder Java-regexer för att generera flera token, en för varje insamlingsgrupp i ett eller flera mönster.

Alternativ

mönster (typ: strängmatris) – En lista med mönster som ska matchas mot varje token. Obligatoriska.

preserveOriginal (typ: bool) – Ställ in på true för att returnera den ursprungliga token även om ett av mönstren matchar, standard: true
pattern_replace PatternReplaceTokenFilter Ett tokenfilter som tillämpar ett mönster på varje token i strömmen och ersätter matchningsförekomster med den angivna ersättningssträngen.

Alternativ

mönster (typ: sträng) – Obligatoriskt.

ersättning (typ: sträng) – Krävs.
persian_normalization (typ gäller endast när alternativ är tillgängliga) Tillämpar normalisering för persiska.
Fonetiska Telefon ticTokenFilter Skapa token för fonetiska matchningar.

Alternativ

kodare (typ: sträng) – Telefon kodare att använda. Tillåtna värden är: metaphone, doubleMetaphone, soundex, refinedSoundex, caverphone1, caverphone2, cologne, nysiis, koelnerPhonetik, haasePhonetik, beiderMorse. Standard: metaphone. Standardvärdet är metafon.

Mer information finns i kodaren .

replace (type: bool) – True if encoded tokens should replace original tokens, false if they should be added as synonyms. Standardvärdet är sant.
porter_stem (typ gäller endast när alternativ är tillgängliga) Transformerar tokenströmmen enligt Porter-algoritmen.
omvänd (typ gäller endast när alternativ är tillgängliga) Återställer tokensträngen.
scandinavian_normalization (typ gäller endast när alternativ är tillgängliga) Normaliserar användningen av utbytbara skandinaviska tecken.
scandinavian_folding (typ gäller endast när alternativ är tillgängliga) Viker skandinaviska tecken åÅäæÄÆtill a och öÖøØtill o. Det diskriminerar också användningen av dubbla vokaler aa, ae, aooch oe , lämnar oobara den första.
Singel ShingleTokenFilter Skapar kombinationer av token som en enda token.

Alternativ

maxShingleSize (typ: int) – Standardvärdet är 2.

minShingleSize (typ: int) – Standardvärdet är 2.

outputUnigrams (typ: bool) – om det är sant innehåller utdataströmmen indatatoken (unigram) samt bältros. Standardvärdet är sant.

outputUnigramsIfNoShingles (typ: bool) – Om det är sant åsidosätter du beteendet för outputUnigrams==false för de tider då inga bältros är tillgängliga. Standardvärdet är falskt.

tokenSeparator (typ: sträng) – Strängen som ska användas när du ansluter intilliggande token för att bilda en bältros. Standardvärdet är ett enda tomt utrymme .

filterToken (typ: sträng) – Strängen som ska infogas för varje position där det inte finns någon token. Standardvärdet är _.
Snöboll SnowballTokenFilter Filter för snöbollstoken.

Alternativ

language (type: string) – Tillåtna värden är: armenian, basque, catalan, danish, dutch, english, finnish, germanfrench, , german2, hungarian, kplovinsporternorwegianitalian, portuguese, romanian, russian, spanish, , , swedishturkish
sorani_normalization SoraniNormalizationTokenFilter Normaliserar Unicode-representationen av Sorani text.

Alternativ

Inga.
Stemmer StemmerTokenFilter Språkspecifikt härdningsfilter.

Alternativ

language (type: string) – Tillåtna värden är:
- 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 Ordliste-Stemmed-termer markeras som nyckelord, vilket förhindrar att kedjan härleds. Måste placeras före eventuella härdningsfilter.

Alternativ

regler (typ: strängmatris) – Härstamningsregler i följande format word => stem , till exempel ran => run. Standardvärdet är en tom lista. Obligatoriska.
Stopwords StopwordsTokenFilter Tar bort stoppord från en tokenström. Som standard använder filtret en fördefinierad stoppordlista för engelska.

Alternativ

stopwords (typ: strängmatris) – En lista med stoppord. Det går inte att ange om en stopwordsList har angetts.

stopwordsList (typ: sträng) – En fördefinierad lista över stoppord. Det går inte att ange om stopwords det har angetts. Tillåtna värden är:arabic, armenian, basque, brazilian, bulgarian, catalan, czech, danish, dutch, finnishenglish, french, galician, germangreekhindiindonesianhungarian, irish, italian, norwegianpersianromaniansoranirussianportugueseswedishlatvianspanish, thai, , turkishstandard: . english Det går inte att ange om stopwords det har angetts.

ignoreCase (typ: bool) – Om sant är alla ord gemener först. Standardvärdet är falskt.

removeTrailing (typ: bool) – Om det är sant ignorerar du den sista sökordet om det är ett stoppord. Standardvärdet är sant.
Synonym SynonymTokenFilter Matchar synonymer med ett eller flera ord i en tokenström.

Alternativ

synonymer (typ: strängmatris) – Krävs. Lista över synonymer i något av följande två format:

-otroligt, otroligt, fantastiskt => fantastiskt - alla termer på vänster sida av => symbolen ersätts med alla termer på höger sida.

-otroligt, otroligt, fantastiskt, fantastiskt - En kommaavgränsad lista med motsvarande ord. Ange alternativet expandera för att ändra hur den här listan tolkas.

ignoreCase (typ: bool) – Skiftlägesdelegeringar för matchning. Standardvärdet är falskt.

expandera (typ: bool) – Om sant mappas alla ord i listan med synonymer (om => notation inte används) till varandra.
Följande lista: otroligt, otroligt, fantastiskt, fantastiskt motsvarar: otroligt, otroligt, fantastiskt, fantastiskt => otroligt, otroligt, fantastiskt, fantastiskt

- Om falskt, följande lista: otroligt, otroligt, fantastiskt, fantastiskt motsvarar: otroligt, otroligt, fantastiskt, fantastiskt => otroligt.
Trimma (typ gäller endast när alternativ är tillgängliga) Trimmar inledande och avslutande blanksteg från token.
trunkera TruncateTokenFilter Trunkerar termerna till en viss längd.

Alternativ

längd (typ: int) – Standard: 300, max: 300. Obligatoriska.
Unik UniqueTokenFilter Filtrerar bort token med samma text som föregående token.

Alternativ

onlyOnSamePosition (typ: bool) – Om du har angetts tar dubbletter endast bort på samma position. Standardvärdet är sant.
Versaler (typ gäller endast när alternativ är tillgängliga) Normaliserar tokentext till versaler.
word_delimiter WordDelimiterTokenFilter Delar upp ord i underord och utför valfria transformeringar i underordsgrupper.

Alternativ

generateWordParts (typ: bool) – Gör att delar av ord genereras, till exempel AzureSearch blir AzureSearch. Standardvärdet är sant.

generateNumberParts (typ: bool) – Orsakar att nummerunderord genereras. Standardvärdet är sant.

catenateWords (typ: bool) – Orsakar maximala körningar av orddelar som ska catenated, till exempel Azure-Search blir AzureSearch. Standardvärdet är falskt.

catenateNumbers (typ: bool) – Orsakar maximala körningar av antal delar som ska catenated, till exempel 1-2 blir 12. Standardvärdet är falskt.

catenateAll (typ: bool) – Gör att alla underordsdelar kategoriseras, t.ex Azure-Search-1 . blir AzureSearch1. Standardvärdet är falskt.

splitOnCaseChange (typ: bool) – Om sant, delar ord på caseChange, till exempel AzureSearch blir AzureSearch. Standardvärdet är sant.

preserveOriginal – Gör att ursprungliga ord bevaras och läggs till i underordslistan. Standardvärdet är falskt.

splitOnNumerics (typ: bool) – Om sant, delar på tal, blir Azure1Searchtill exempel .Azure1Search Standardvärdet är sant.

stemEnglishPossessive (typ: bool) – Orsaker till att 's avslutande tas bort för varje underord. Standardvärdet är sant.

protectedWords (typ: strängmatris) – Token som skyddar mot att avgränsas. Standardvärdet är en tom lista.

1 Tokenfiltertyper är alltid prefix i kod med #Microsoft.Azure.Search sådana som ArabicNormalizationTokenFilter faktiskt skulle anges som #Microsoft.Azure.Search.ArabicNormalizationTokenFilter. Vi har tagit bort prefixet för att minska tabellens bredd, men kom ihåg att inkludera det i koden.

Se även