Lägga till anpassade analysverktyg i strängfält i ett Azure Cognitive Search index
Ett anpassat analysverktyg är en användardefinierad kombination av tokeniserare, ett eller flera tokenfilter och ett eller flera teckenfilter som anges i sökindexet och som sedan refereras till fältdefinitioner som kräver anpassad analys. Tokeniseraren ansvarar för att dela upp text i token och tokenfiltren för att ändra token som genereras av tokenizer. Teckenfilter förbereder indatatexten innan den bearbetas av tokeniseraren. Begrepp och exempel finns i Analysverktyg i Azure Cognitive Search.
Ett anpassat analysverktyg ger dig kontroll över processen med 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 ett anpassat analysverktyg om inget standardvärde (Standard Lucence), inbyggda analysverktyg eller språkanalysverktyg är tillräckliga för dina behov. Du kan också skapa ett anpassat analysverktyg om du vill använda ett inbyggt analysverktyg med anpassade alternativ. Om du till exempel vill ändra maxTokenLength på Standard skapar du ett anpassat analysverktyg med ett användardefinierat namn för att ange det alternativet.
Här är några exempel på scenarier där anpassade analysverktyg kan vara till hjälp:
Använda teckenfilter för att ta bort HTML-kod innan textinmatningar tokeniseras eller ersätta vissa tecken eller symboler.
Fonetiska sökningar. Lägg till ett fonetiskt filter för att aktivera sökning baserat på hur ett ord låter, inte hur det stavas.
Inaktivera lexikal analys. Använd Nyckelordsanalys för att skapa sökbara fält som inte analyseras.
Snabb sökning efter prefix/suffix. Lägg till edge N-gram token-filtret till indexprefix för ord för att aktivera snabb prefixmatchning. Kombinera det med filtret Omvänd token för att göra suffixmatchning.
Anpassad tokenisering. Du kan till exempel använda tokeniseraren för tomt utrymme för att dela upp meningar i token med hjälp av blanksteg som avgränsare
ASCII-vikning. Lägg till standard-ASCII-vikningsfiltret för att normalisera diakritiska tecken som ö eller ê i söktermer.
Anteckning
Anpassade analysverktyg exponeras inte i Azure Portal. Det enda sättet att lägga till ett anpassat analysverktyg är via kod som definierar ett index.
Skapa ett anpassat analysverktyg
Om du vill skapa ett anpassat analysverktyg anger du det i avsnittet "analyzers" i ett index vid designtiden och refererar sedan till det på sökbara Edm.String-fält med antingen egenskapen "analyzer" eller paret "indexAnalyzer" och "searchAnalyzer".
En analysdefinition innehåller namn, typ, ett eller flera teckenfilter, högst en tokeniserare och ett eller flera tokenfilter för bearbetning efter tokenbearbetning. Teckenfilter tillämpas före tokenisering. Tokenfilter och teckenfilter tillämpas från vänster till höger.
Namnen i ett anpassat analysverktyg måste vara unika och får inte vara samma som inbyggda analysverktyg, tokeniserare, tokenfilter eller teckenfilter. Det får bara innehålla bokstäver, siffror, blanksteg, bindestreck eller understreck, får bara börja och sluta med alfanumeriska tecken och får vara begränsat till 128 tecken.
Typen måste vara #Microsoft.Azure.Search.CustomAnalyzer.
"charFilters" kan vara ett eller flera filter från teckenfiltersom bearbetas före tokenisering i den angivna ordningen. Vissa teckenfilter har alternativ som kan anges i ett "charFilter-avsnitt. Teckenfilter är valfria.
"tokenizer" är exakt en tokeniserare. Ett värde krävs. Om du behöver fler än en tokeniserare 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 tokenfiltersom 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 undanta dem använder du TruncateTokenFilter respektive LengthTokenFilter. Se Tokenfilter som 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 i slutet:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
Analysverktygsdefinitionen är en del av det större indexet. Definitioner för teckenfilter, tokeniserare och tokenfilter läggs bara till i indexet om du anger anpassade alternativ. Om du vill använda ett befintligt filter eller en tokeniserare som det är anger du det efter namn i analyzer-definitionen. Mer information finns i Skapa index (REST). Fler exempel finns i Lägga till analysverktyg i Azure Cognitive Search.
Testa anpassade analysverktyg
Du kan använda Test Analyzer (REST) för att se hur en analysator delar upp a given text i token.
Förfrågan
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"
}
Response
{
"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 tokeniserare, ett tokenfilter eller ett teckenfilter har definierats kan den inte ändras. Nya kan bara läggas till i ett befintligt index om flaggan allowIndexDowntime är inställd på sant i indexuppdateringsbegäran:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Den här åtgärden tar indexet offline i minst några sekunder, vilket gör att indexerings- och frågebegäranden misslyckas. Prestanda- och skrivtillgänglighet 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 ett inbyggt analysverktyg med anpassade alternativ kan du ange dessa alternativ genom att skapa ett anpassat analysverktyg. Om du däremot vill använda ett inbyggt analysverktyg som det är behöver du helt enkelt referera till det med namnet i fältdefinitionen.
| analyzer_name | analyzer_type 1 | Beskrivning och alternativ |
|---|---|---|
| Sökord | (typen 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:er och vissa produktnamn. |
| Mönster | PatternAnalyzer | Separerar texten flexibelt i termer via ett mönster för reguljära uttryck. Alternativ gemener (typ: bool) – Avgör om termerna är gemener. Standardvärdet är true. 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) – Flaggor för reguljära uttryck. 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 | (typen gäller endast när alternativ är tillgängliga) | Dividerar text med icke-bokstäver och konverterar dem till gemener. |
| standard (Kallas även standard.lucene) | StandardAnalyzer | Standard Lucene Analyzer, som består av standardtokeniseraren, filtret gemener och stoppfiltret. 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 | (typen gäller endast när alternativ är tillgängliga) | Standardanalysverktyg med Ascii-vikningsfilter. |
| Stanna | StopAnalyzer | Dividerar text med icke-bokstäver, tillämpar filtren gemener och stoppordstoken. Alternativ stopwords (typ: strängmatris) – En lista med stoppord. Standardvärdet är en fördefinierad lista för engelska. |
| Blanksteg | (typen gäller endast när det finns tillgängliga alternativ) | Ett analysverktyg som använder tokeniseraren för tomt utrymme. Token som är längre än 255 tecken delas upp. |
1 Analyzer Types har alltid prefixet "#Microsoft.Azure.Search" så att "PatternAnalyzer" faktiskt skulle anges som "#Microsoft.Azure.Search.PatternAnalyzer". Vi har tagit bort prefixet för korthet, men prefixet krävs i koden.
Den analyzer_type tillhandahålls endast för analysverktyg som kan anpassas. Om det inte finns några alternativ, vilket är fallet med nyckelordsanalys, finns det ingen associerad #Microsoft.Azure.Search-typ.
Teckenfilter
Teckenfilter lägger till bearbetning innan en sträng når tokeniseraren.
Cognitive Search har stöd för 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 | (typen gäller endast när det finns tillgängliga alternativ) | 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 (den längsta mönstermatchningen vid en given punkt vinner). Ersättning tillåts vara den tomma strängen. Alternativ mappings (type: string array) – En lista med mappningar i följande format: "a=>b" (alla förekomster av tecknet "a" ersätts med tecknet "b"). Krävs. |
| 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 pattern (type: string) – Obligatoriskt. replacement (type: string) – Obligatoriskt. |
1 Teckenfiltertyper föregås alltid av prefix i kod med "#Microsoft.Azure.Search" så att "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 anges 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.
Tokeniserare
En tokeniserare delar in kontinuerlig text i en sekvens med token, till exempel att dela upp en mening i ord eller ett ord i rotformulär.
Cognitive Search har stöd för tokeniserare i följande lista. Mer information om var och en finns i Lucene API-referensen.
| tokenizer_name | tokenizer_type 1 | Beskrivning och alternativ |
|---|---|---|
| klassiskt | ClassicTokenizer | Grammatikbaserad tokeniserare som är lämplig för bearbetning av de flesta europeiska språkdokument. 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 angivna storlekar. 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 | Skickar 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 | (typen gäller endast när det finns tillgängliga alternativ) | Delar upp text med icke-bokstäver. Token som är längre än 255 tecken delas upp. |
| Gemener | (typen gäller endast när det finns tillgängliga alternativ) | Dividerar text med icke-bokstäver och konverterar dem till gemener. Token som är längre än 255 tecken delas upp. |
| microsoft_language_tokenizer | MicrosoftLanguageTokenizer | Delar upp text med 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ängden 300 och sedan delas var och en av dessa token baserat på maxTokenLength-uppsättningen. isSearchTokenizer (type: bool) – Ange till sant om det används som söktokeniserare, ställ in på falskt om det används som indexeringstokeniserare. language (type: string) – Språk att använda, standard "english". Tillåtna värden är: "mobla", "italian", "german", "chineseSimplified", "chineseStart", "czech", "tjeckiska", "danska", "nederländska", "english", "french", "german", "grekiska", "gujarati", "hindi", "germanic", "indonesian", "italian", "japanese", "kannada", "koreanska", "malajiska", "malayalam", "marathi", "norskaBokmaal", "polska", "portugisiska", "portugisiskaBrazilian", "punjabi", "rumänska", "ryska", "serbiskacyrillisk", "serbiskaLatin", "frise", "spanska", "svenska", "tamil", "telugu", "thailändska", " -, "urdu", "vietnamesiska" |
| microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Delar upp text med språkspecifika regler och minskar ord till deras basformulär 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ängden 300 och sedan delas var och en av dessa token baserat på maxTokenLength-uppsättningen. isSearchTokenizer (type: bool) – Ange till sant om det används som söktokeniserare, ställ in på falskt om det används som indexeringstokeniserare. language (type: string) – Språk att använda, standard "english". Tillåtna värden är: "arabiska", "lagan", "nederländska", "tjeckiska", "tjeckiska", "danska", "nederländska", "english", "bred", "finska", "franska", "german", "grekiska", "gujarati", "hebreiska", "hindi", "ungerska", "mojiska", "indonesian", "italian", "kannada", "lettiska", "hejdare", "malay", "malayalam", "marathi", "norskaBokmaal", "polska", "portugisiska", "portugisiskaBrazilian", "punjabi", "rumänska", "ryska", "serbiskacyrillisk", "serbiskaLatin", "slovakiska", "underskan", "spanska", "svenska", "tamil", " telugu", "turkish", "turkish", "urdu" |
| nGram | NGramTokenizer | Tokeniserar indata till n-gram för 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 | Tokeniserare för sökvägsliknande hierarkier. Alternativ avgränsare (typ: sträng) – Standard: '/. replacement (type: string) – Ersätter avgränsartecknet om det har angetts. Standard samma som avgränsarvärdet. maxTokenLength (typ: int) – Maximal tokenlängd. Standard: 300, max: 300. Sökvägar som är längre än maxTokenLength ignoreras. reverse (type: bool) – Om sant genererar token i omvänd ordning. Standard: falskt. skip (type: bool) – Inledande token som ska hoppas över. Standardvärdet är 0. |
| Mönster | PatternTokenizer | Den här tokeniseraren använder regex-mönstermatchning för att konstruera distinkta token. Alternativ pattern (type: string) – Mönster för reguljära uttryck som matchar tokenavgränsare. Standardvärdet är \W+ , som matchar icke-ordtecken. flags (type: string) – Flaggor för reguljära uttryck. 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 (split). |
| standard_v2 | StandardTokenizerV2 | Bryter text efter Reglerna för Unicode-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 | (typen gäller endast när det finns tillgängliga alternativ) | Delar upp text i tomt utrymme. Token som är längre än 255 tecken delas upp. |
1 Tokenizer Types (Tokenizertyper) har alltid prefixet "#Microsoft.Azure.Search" så att "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 tokeniserare som kan anpassas. Om det inte finns några alternativ, vilket är fallet med tokenizer-bokstaven, 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 tokeniserare. Du kan till exempel ange ett filter med gemener som konverterar alla tecken till gemener. Du kan ha flera tokenfilter i ett anpassat analysverktyg. Tokenfilter körs i den ordning som de visas.
I tabellen nedan länkas tokenfilter som implementeras med Apache Lucene till Lucene API-dokumentationen.
| token_filter_name | token_filter_type 1 | Beskrivning och alternativ |
|---|---|---|
| arabic_normalization | (typen gäller endast när det finns tillgängliga alternativ) | Ett tokenfilter som tillämpar den arabiska normaliseraren för att normalisera ortografin. |
| Apostrof | (typen gäller endast när det finns tillgängliga alternativ) | Tar bort alla tecken efter en apostrofer (inklusive själva apostroferet). |
| asciifolding | AsciiFoldingTokenFilter | Konverterar alfabetiska, numeriska och symboliska Unicode-tecken som inte ingår i de första 127 ASCII-tecknen (Unicode-blocket "Basic Latin" ) till sina ASCII-motsvarigheter, om sådana finns. Alternativ preserveOriginal (type: bool) – Om det är sant behålls den ursprungliga token. Standardvärdet är False. |
| cjk_bigram | CjkBigramTokenFilter | Formar bigrams av CSTOPP-termer som genereras från StandardTokenizer. Alternativ ignoreScripts (type: string array) – Skript som ska ignoreras. Tillåtna värden är: "han", "hiragana", "katakana", "hangul". Standardvärdet är en tom lista. outputUnigrams (type: bool) – Ange till sant om du alltid vill mata ut både unigram och bigrams. Standardvärdet är False. |
| cjk_width | (typen gäller endast när det finns tillgängliga alternativ) | Normaliserar skillnaderna i CJK-bredd. Viker ASCII-varianter med full bredd till motsvarande grundläggande latinska och halva bredd Katakana-varianter till motsvarande kana. |
| klassiskt | (typen gäller endast när det finns tillgängliga alternativ) | Tar bort engelska possessives och punkter från förkortningar. |
| common_grams | CommonGramTokenFilter | Skapa bigrams för termer som ofta förekommer vid indexering. Enskilda termer indexeras fortfarande också, med bigrams överlagrat. Alternativ commonWords (typ: strängmatris) – Uppsättningen vanliga ord. Standardvärdet är en tom lista. Krävs. ignoreCase (type: bool) – Om det är sant är matchningen inte fallkänslig. Standardvärdet är False. queryMode (typ: bool) – Genererar bigrams och tar sedan bort vanliga ord och enskilda termer följt av ett vanligt ord. Standardvärdet är False. |
| dictionary_decompounder | DictionaryDecompounderTokenFilter | Uppdelar sammansatta ord som finns på många tyska språk. Alternativ wordList (typ: strängmatris) – Listan med ord att matcha mot. Standardvärdet är en tom lista. Krävs. minWordSize (type: int) – Endast ord som är längre än detta bearbetas. Standardvärdet är 5. minSubwordSize (type: int) – Endast underord som är längre än detta matas ut. Standardvärdet är 2. maxSubwordSize (type: int) – Endast underord som är kortare än detta matas ut. Standardvärdet är 15. onlyLongestMatch (type: bool) – Lägg bara till det längst matchande underordet i utdata. Standardvärdet är False. |
| edgeNGram_v2 | EdgeNGramTokenFilterV2 | Genererar n-gram för den angivna storleken från början 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 (type: 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 konverteras "l'avion" (planet) till "avion" (plan). Alternativ articles (type: string array) – En uppsättning artiklar som ska tas bort. Standardvärdet är en tom lista. Om ingen lista över artiklar har angetts tas som standard alla franska artiklar bort. |
| german_normalization | (typen gäller endast när det finns tillgängliga alternativ) | Normaliserar tyska tecken enligt heuristiken i German2 snowball-algoritmen . |
| hindi_normalization | (typen gäller endast när det finns tillgängliga alternativ) | Normaliserar text i hindi för att ta bort vissa skillnader i stavningsvariationer. |
| indic_normalization | IndicNormalizationTokenFilter | Normaliserar Unicode-representationen av text på engelska. |
| Hålla | KeepTokenFilter | Ett tokenfilter som endast bevarar token med text som finns i en angiven lista med ord. Alternativ keepWords (typ: strängmatris) – En lista med ord som ska behållas. Standardvärdet är en tom lista. Krävs. keepWordsCase (type: bool) – Om sant, gemener alla ord först. Standardvärdet är False. |
| keyword_marker | KeywordMarkerTokenFilter | Markerar termer som nyckelord. Alternativ keywords (type: string array) – En lista med ord som ska markeras som nyckelord. Standardvärdet är en tom lista. Krävs. ignoreCase (type: bool) – Om sant, gemener alla ord först. Standardvärdet är False. |
| keyword_repeat | (typen gäller endast när det finns tillgängliga alternativ) | Sändar varje inkommande token två gånger som nyckelord och en gång som icke-nyckelord. |
| kstem | (typen gäller endast när det finns tillgängliga alternativ) | Ett kstem-filter med höga prestanda för engelska. |
| length | LengthTokenFilter | Tar bort ord som är för långa eller för korta. Alternativ min (typ: int) – Det lägsta talet. 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 produceras. Standard är 1. consumeAllTokens (typ: bool) – Om alla token från indata måste användas även om maxTokenCount har uppnåtts. Standardvärdet är False. |
| Gemener | (typen gäller endast när det finns tillgängliga alternativ) | Normaliserar tokentexten till gemener. |
| nGram_v2 | NGramTokenFilterV2 | Genererar n-gram för 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-regexes för att generera flera token, en för varje avfångstgrupp i ett eller flera mönster. Alternativ patterns (type: string array) – En lista över mönster som ska matchas mot varje token. Krävs. preserveOriginal (type: bool) – Ställ in på true för att returnera den ursprungliga token även om något av mönstren matchar, standard: true |
| pattern_replace | PatternReplaceTokenFilter | Ett tokenfilter som tillämpar ett mönster på varje token i dataströmmen och ersätter matchningshändelser med den angivna ersättningssträngen. Alternativ pattern (type: string) – Obligatoriskt. replacement (type: string) – Obligatoriskt. |
| persian_normalization | (typen gäller endast när alternativ är tillgängliga) | Tillämpar normalisering för Försent. |
| Fonetiska | PhoneticTokenFilter | Skapa token för fonetiska matchningar. Alternativ kodare (typ: sträng) – Fonetiska kodare som ska användas. Tillåtna värden är: "metaphone", "doubleMetaphone", "soundex", "refinedIllaex", "caverphone1", "caverphone2", "caverphone2", "nysiis", "koelnerPhonetik", "haasePhonetik", "beiderMorse". Standard: "metaphone". Standardvärdet är metatelefon. Mer information finns i kodaren. replace (type: bool) – True om kodade token ska ersätta ursprungliga tokens, false om de ska läggas till som synonymer. Standardvärdet är true. |
| porter_stem | (typen gäller endast när alternativ är tillgängliga) | Transformerar tokenströmmen enligt Porter-algoritmen för igenkänning. |
| Omvänd | (typen gäller endast när alternativ är tillgängliga) | Omvänd tokensträng. |
| scandinavian_normalization | (typen gäller endast när alternativ är tillgängliga) | Normaliserar användningen av utbytbara Tecken. |
| scandinavian_folding | (typen gäller endast när alternativ är tillgängliga) | Vikning av tecken åÅåälÅÅ->a och öÖndi->o. Den skyddar också mot användning av dubbla vowels aa, ae, ao, oe och oo, och lämnar bara den första. |
| Singel | GleTokenFilter | Skapar kombinationer av token som en enda token. Alternativ maxShingleSize (type: int) – Standardvärdet är 2. minShingleSize (type: int) – Standardvärdet är 2. outputUnigrams (type: bool) – om det är sant innehåller utdataströmmen indatatoken (unigram) samt bältros. Standardvärdet är true. outputUnigramsIfNoShingles (typ: bool) – Om det är sant åsidosätter du beteendet för outputUnigrams==false för de tillfällen när inga binglingar är tillgängliga. Standardvärdet är False. tokenSeparator (typ: sträng) – Strängen som ska användas när intilliggande token sammanförs för att bilda en växlingsflik. Standardvärdet är " ". 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 | Snowball-tokenfilter. Alternativ language (type: string) – Tillåtna värden är: "spanishn", "spanish", "german", "danish", "dutch", "english", "finska", "french", "german", "german2", "ungerska", "italian", "kp", "lodins", "norska", "porter", "portugisiska", "rumänska", "ryska", "spanska", "svenska", "turkiska" |
| sorani_normalization | SoraniNormalizationTokenFilter | Normaliserar Unicode-representationen av Sorani-text. Alternativ Inga. |
| Stemmer | StemmerTokenFilter | Språkspecifikt ordstamsfilter. Alternativ språk (typ: sträng) – Tillåtna värden är: - "arabiska" - "100 000" - "baskiska" - "brasilien" – "isk" - "kant" - "tjeckiska" - "danska" - "nederländska" - "dutchKp" - "english" - "lightEnglish" - "minimalEnglish" - "possessiveEnglish" - "porter2" - "molins" - "finska" – "lightFinnish" - "franska" - "lightFrench" - "minimalFrench" – "galicisk" – "minimalAllician" - "tyska" - "german2" - "lightGerman" – "minimalGerman" - "grekiska" – "hindi" - "ungerska" - "lightHung parentes" - "indonesian" - "puben" - "italienska" - "lightItalian" - "sorani" - "lettiska" - "norska" - "lightNorwegian" - "minimalnorsk" - "lightNynorsk" - "minimalNynorsk" - "portugisiska" - "lightPortuguese" - "minimalPortuguese" - "portugueseRslp" - "rumänska" - "ryska" - "lightRussian" - "spanska" - "lightSpanish" - "svenska" – "lightSwedish" - "turkiska" |
| stemmer_override | StemmerOverrideTokenFilter | Ordlistor – stemmed-termer markeras som nyckelord, vilket förhindrar att de härstammar från kedjan. Måste placeras före eventuella ordstamsfilter. Alternativ rules (type: string array) – Ordstamsregler i följande format "word => stem" till exempel "ran => run". Standardvärdet är en tom lista. Krävs. |
| stopwords | StopwordsTokenFilter | Tar bort stoppord från en tokenström. Som standard använder filtret en fördefinierad stoppordslista för engelska. Alternativ stopwords (typ: strängmatris) – En lista med stoppord. Kan inte anges om en stopwordsList har angetts. stopwordsList (type: string) – En fördefinierad lista med stoppord. Kan inte anges om stopwords har angetts. Tillåtna värden är:"arabiska", "intecknen", "baskiska", "brasilien", "tjeckiska", "tjeckiska", "tjeckiska", "danska", "nederländska", "english", "finska", "franska", "galician", "german", "grekiska", "hindi", "ungerska", "indonesian", "lettiska", "italienska", "lettiska", "norska", "inställningar", "portugisiska", "rumänska", "ryska", "sorani", "spanish", "svenska", "thailändska", "turkiska", standard: "english". Kan inte anges om stopwords har angetts. ignoreCase (type: bool) – Om det är sant kommer alla ord att skrivas med gemener först. Standardvärdet är False. removeTrailing (type: bool) – Om det är sant ignorerar du den senaste söktermen om det är ett stoppord. Standardvärdet är true. |
| Synonym | SynonymTokenFilter | Matchar synonymer med ett eller flera ord i en tokenström. Alternativ synonymer (typ: strängmatris) – Obligatoriskt. Lista över synonymer i något av följande två format: -fantastisk, fantastisk, fantastisk => fantastisk – alla termer till vänster om => symbol ersätts med alla termer på höger sida. –fantastisk, fantastisk, fantastisk – En kommaavgränsad lista med motsvarande ord. Ange alternativet expandera för att ändra hur listan tolkas. ignoreCase (type: bool) – Indata för matchning av case-folds. Standardvärdet är False. expand (type: bool) – Om sant mappar alla ord i listan över synonymer (if => notation inte används) till varandra. Följande lista: fantastisk, fantastisk, fantastisk, motsvarar: fantastisk, fantastisk, fantastisk, fantastisk => fantastisk, fantastisk, fantastisk, fantastisk, fantastisk, fantastisk – Om det är falskt är följande lista: fantastisk, fantastisk, fantastisk och fantastisk motsvarar: fantastisk, fantastisk, fantastisk, fantastisk => fantastisk. |
| Trimma | (typen gäller endast när det finns tillgängliga alternativ) | Rensar inledande och avslutande blanksteg från token. |
| Trunkera | TruncateTokenFilter | Trunkerar villkoren till en viss längd. Alternativ length (type: int) – Standard: 300, maximum: 300. Krävs. |
| Unik | UniqueTokenFilter | Filtrerar bort token med samma text som föregående token. Alternativ onlyOnSamePosition (typ: bool) – Om det här anges tar du bort dubbletter endast på samma plats. Standardvärdet är true. |
| Versaler | (typen gäller endast när det finns tillgängliga alternativ) | Normaliserar tokentext till versaler. |
| word_delimiter | WordDelimiterTokenFilter | Delar upp ord i underord och utför valfria transformeringar på underordsgrupper. Alternativ generateWordParts (type: bool) – Gör att delar av ord genereras, till exempel att "AzureSearch" blir "Azure" "Search". Standardvärdet är true. generateNumberParts (typ: bool) – Orsakar att nummerunderord genereras. Standardvärdet är true. catenateWords (typ: bool) – Orsakar maximala körningar av orddelar som ska catenated, till exempel blir "Azure-Search" "AzureSearch". Standardvärdet är False. catenateNumbers (typ: bool) – Orsakar maximala körningar av antal delar som ska catenated, till exempel blir "1-2" "12". Standardvärdet är False. catenateAll (typ: bool) – Orsakar att alla del av underordet är catenated, t.ex. att "Azure-Search-1" blir "AzureSearch1". Standardvärdet är False. splitOnCaseChange (typ: bool) – Om det är sant delar ord i caseChange, till exempel blir "AzureSearch" "Azure" Search. Standardvärdet är true. preserveOriginal – Gör att ursprungliga ord bevaras och läggs till i listan med underord. Standardvärdet är False. splitOnNumerics (type: bool) – Om det är sant delas upp i tal, till exempel "Azure1Search" blir "Azure" "1" "Search". Standardvärdet är true. stemEnglishPossessive (typ: bool) – Orsakar att avslutande "s" tas bort för varje underord. Standardvärdet är true. protectedWords (typ: strängmatris) – Token som ska skyddas från att avgränsas. Standardvärdet är en tom lista. |
1 Tokenfiltertyper föregås alltid av kod med "#Microsoft.Azure.Search" så att "ArabiskaNormalizationTokenFilter" faktiskt skulle anges som "#Microsoft.Azure.Search.ArabiskaNormalizationTokenFilter". Vi har tagit bort prefixet för att minska tabellens bredd, men kom ihåg att inkludera det i koden.