Aangepaste analyses toevoegen aan tekenreeksvelden in een Azure Cognitive Search index
Een aangepaste analyse is een door de gebruiker gedefinieerde combinatie van tokenizer, een of meer tokenfilters en een of meer tekenfilters die zijn opgegeven in de zoekindex en waarnaar vervolgens wordt verwezen naar velddefinities waarvoor aangepaste analyse is vereist. De tokenizer is verantwoordelijk voor het op breken van tekst in tokens en de tokenfilters voor het wijzigen van tokens die door de tokenizer worden ingediend. Tekenfilters bereiden de invoertekst voor voordat deze wordt verwerkt door de tokenizer. Zie Analyzers in Azure Cognitive Search voor concepten en voorbeelden.
Een aangepaste analyse geeft u controle over het proces van het converteren van tekst naar indexeerbare en doorzoekbare tokens doordat u kunt kiezen welke typen analyse of filters u wilt aanroepen, en de volgorde waarin ze plaatsvinden.
Maak en wijs een aangepaste analyse toe als geen van de standaard (Standard Lucence), ingebouwde of taalanalyses voldoende is voor uw behoeften. U kunt ook een aangepaste analyse maken als u een ingebouwde analyse met aangepaste opties wilt gebruiken. Als u bijvoorbeeld maxTokenLength op Standard wilt wijzigen, maakt u een aangepaste analyse met een door de gebruiker gedefinieerde naam om die optie in te stellen.
Scenario's waarin aangepaste analyses nuttig kunnen zijn, zijn onder andere:
Gebruik tekenfilters om HTML-markeringen te verwijderen voordat tekstinvoer wordt tokenized of vervang bepaalde tekens of symbolen.
F phonetic search. Voeg een f phonetic filter toe om zoeken mogelijk te maken op basis van de manier waarop een woord klinkt, niet hoe het wordt gespeld.
Lexicale analyse uitschakelen. Gebruik de Keyword Analyzer om doorzoekbare velden te maken die niet worden geanalyseerd.
Snel zoeken naar voorvoegsel/achtervoegsel. Voeg het edge N-gram-tokenfilter toe aan de index voorvoegsels van woorden om snel overeenkomende voorvoegsels mogelijk te maken. Combineer dit met het filter Reverse token om achtervoegsels te koppelen.
Aangepaste tokenisatie. Gebruik bijvoorbeeld de whitespace-tokenizer om zinnen op te breken in tokens met behulp van witruimte als scheidingsteken
ASCII Folding. Voeg het Standaard ASCII Folding-filter toe om diacritics zoals ö of ê in zoektermen te normaliseren.
Notitie
Aangepaste analyses worden niet in de Azure Portal. De enige manier om een aangepaste analyse toe te voegen, is via code die een index definieert.
Een aangepaste analyse maken
Als u een aangepaste analyse wilt maken, geeft u deze op in de sectie Analyse van een index tijdens het ontwerpen en verwijst u naar doorzoekbare Edm.String-velden met behulp van de eigenschap 'analyzer' of het paar indexAnalyzer en searchAnalyzer.
Een analyzer-definitie bevat een naam, type, een of meer tekenfilters, maximaal één tokenizer en een of meer tokenfilters voor verwerking na tokenisatie. Tekenfilters worden toegepast vóór tokenisatie. Tokenfilters en tekenfilters worden van links naar rechts toegepast.
Namen in een aangepaste analyse moeten uniek zijn en mogen niet hetzelfde zijn als een van de ingebouwde filters voor analyse, tokenizers, tokenfilters of tekens. De naam mag alleen letters, cijfers, spaties, streepjes of onderstrepingstekens bevatten, mag alleen beginnen en eindigen met alfanumerieke tekens en mag maximaal 128 tekens bevatten.
Type moet #Microsoft.Azure.Search.CustomAnalyzer zijn.
'charFilters' kunnen een of meer filters zijn van Tekenfilters, verwerkt vóór tokenization, in de opgegeven volgorde. Sommige tekenfilters hebben opties die kunnen worden ingesteld in de sectie charFilter. Tekenfilters zijn optioneel.
'tokenizer' is precies één Tokenizer. Een waarde is vereist. Als u meer dan één tokenizer nodig hebt, kunt u meerdere aangepaste analyses maken en deze per veld toewijzen in uw indexschema.
'tokenFilters' kunnen een of meer filters zijn van Tokenfilters,verwerkt na tokenization, in de opgegeven volgorde. Voor tokenfilters met opties voegt u een sectie 'tokenFilter' toe om de configuratie op te geven. Tokenfilters zijn optioneel.
Analyses mogen geen tokens produceren die langer zijn dan 300 tekens, anders mislukt het indexeren. Als u een lang token wilt inkorten of wilt uitsluiten, gebruikt u respectievelijk TruncateTokenFilter en LengthTokenFilter. Zie Tokenfilters voor naslag.
"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,
...
}
]
Binnen een indexdefinitie kunt u deze sectie ergens in de hoofdsectie van een indexaanvraag plaatsen, maar meestal gaat deze aan het einde:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
De definitie van de analyse maakt deel uit van de grotere index. Definities voor tekenfilters, tokenizers en tokenfilters worden alleen aan de index toegevoegd als u aangepaste opties instelt. Als u een bestaand filter of tokenizer wilt gebruiken, geeft u dit op naam op in de definitie van de analyse. Zie Index maken (REST) voor meer informatie. Zie Analyse toevoegen in Azure Cognitive Search voor meer voorbeelden.
Aangepaste analyses testen
U kunt de Test Analyzer (REST) gebruiken om te zien hoe een analyse bepaalde tekst in tokens opbreekt.
Aanvraag
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
}
]
}
Aangepaste analyses bijwerken
Zodra een analyse, een tokenizer, een tokenfilter of een tekenfilter is gedefinieerd, kan deze niet worden gewijzigd. Nieuwe kunnen alleen worden toegevoegd aan een bestaande index als de vlag is ingesteld op allowIndexDowntime true in de aanvraag voor indexupdates:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Met deze bewerking wordt uw index ten minste een paar seconden offline gehaald, waardoor uw indexering en queryaanvragen mislukken. De prestaties en schrijfbeschikbaarheid van de index kunnen enkele minuten worden beperkt nadat de index is bijgewerkt of langer voor zeer grote indexen, maar deze effecten zijn tijdelijk en worden uiteindelijk zelf opgelost.
Ingebouwde analyse
Als u een ingebouwde analyse met aangepaste opties wilt gebruiken, is het maken van een aangepaste analyse het mechanisme waarmee u deze opties opgeeft. Als u daarentegen een ingebouwde analyse zoals deze wilt gebruiken, hoeft u er alleen maar naar te verwijzen op naam in de velddefinitie.
| analyzer_name | analyzer_type 1 | Beschrijving en opties |
|---|---|---|
| Trefwoord | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Behandelt de volledige inhoud van een veld als één token. Dit is handig voor gegevens zoals postcodes, ID's en enkele productnamen. |
| Patroon | PatternAnalyzer | Flexibel scheidt tekst in termen via een regulier expressiepatroon. Opties kleine letters (type: bool) - Bepaalt of termen in kleine letters zijn. De standaardwaarde is true. patroon (type: tekenreeks) : een patroon voor reguliere expressie dat moet overeenkomen met tokenscheidingstekens. De standaardwaarde is \W+ , die overeenkomt met niet-woordtekens. vlaggen (type: tekenreeks) - reguliere expressievlaggen. De standaardwaarde is een lege tekenreeks. Toegestane waarden: CANON_EQ, CASE_INSENSITIVE, OPMERKINGEN, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES stopwords (type: tekenreeksmatrice) - Een lijst met stopwords. De standaardwaarde is een lege lijst. |
| Eenvoudige | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst op niet-letters en converteert deze naar kleine letters. |
| Standaard (Ook wel standard.lucene genoemd) | StandardAnalyzer | Lucene-standaardanalyse, bestaande uit de standaard tokenizer, het filter voor kleine letters en het stopfilter. Opties maxTokenLength (type: int) - de maximale tokenlengte. De standaardwaarde is 255. Tokens die langer zijn dan de maximale lengte, worden gesplitst. De maximale tokenlengte die kan worden gebruikt, is 300 tekens. stopwords (type: tekenreeksmatrice) - Een lijst met stopwords. De standaardwaarde is een lege lijst. |
| standardasciifolding.lucene | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Standard Analyzer met Ascii Folding-filter. |
| Stoppen | StopAnalyzer | Hiermee wordt tekst op niet-letters verdeeld, worden de tokenfilters in kleine letters en stopworden toegepast. Opties stopwords (type: string array) - Een lijst met stopwords. De standaardwaarde is een vooraf gedefinieerde lijst voor Engels. |
| Whitespace | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een analyse die gebruikmaakt van de whitespace-tokenizer. Tokens die langer zijn dan 255 tekens worden gesplitst. |
1 Analyzer-typen worden altijd vooraf in code voorzien van '#Microsoft.Azure.Search', zodat 'PatternAnalyzer' daadwerkelijk wordt opgegeven als '#Microsoft.Azure.Search.PatternAnalyzer'. We hebben het voorvoegsel voor de beknoptheid verwijderd, maar het voorvoegsel is vereist in uw code.
De analyzer_type is alleen beschikbaar voor analyses die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is bij de keyword analyzer, is er geen gekoppeld #Microsoft.Azure.Search-type.
Tekenfilters
Tekenfilters voegen verwerking toe voordat een tekenreeks de tokenizer bereikt.
Cognitive Search ondersteunt tekenfilters in de volgende lijst. Meer informatie over elk punt vindt u in de Lucene-API-referentie.
| char_filter_name | char_filter_type 1 | Beschrijving en opties |
|---|---|---|
| html_strip | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een char-filter dat probeert HTML-constructies te verwijderen. |
| toewijzing | MappingCharFilter | Een char-filter dat toewijzingen die zijn gedefinieerd met de toewijzingsoptie wordt toegepast. Overeenkomende is hebberigheid (langste patroonmatching op een bepaald punt wint). Vervanging mag de lege tekenreeks zijn. Opties toewijzingen (type: tekenreeksmatrix) - Een lijst met toewijzingen met de volgende indeling: 'a=>b' (alle exemplaren van het teken 'a' worden vervangen door teken 'b'). Vereist. |
| pattern_replace | PatternReplaceCharFilter | Een tekenfilter dat tekens in de invoertekenreeks vervangt. Er wordt gebruikgemaakt van een reguliere expressie om tekenreeksen te identificeren die moeten worden bewaard en een vervangingspatroon om tekens te identificeren die moeten worden vervangen. Bijvoorbeeld invoertekst = "aa bb aa bb", pattern="(aa) \ \s+(bb)" replacement="$1#$2", result = "aa#bb aa#bb". Opties patroon (type: tekenreeks) - vereist. vervanging (type: tekenreeks) - vereist. |
1 Filtertypen met char worden altijd vooraf in code voorzien van '#Microsoft.Azure.Search', zodat 'MappingCharFilter' daadwerkelijk wordt opgegeven als '#Microsoft.Azure.Search.MappingCharFilter'. We hebben het voorvoegsel verwijderd om de breedte van de tabel te verminderen, maar vergeet niet om het op te nemen in uw code. U ziet char_filter_type alleen wordt opgegeven voor filters die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is bij html_strip, is er geen gekoppeld #Microsoft.Azure.Search-type.
Tokenizers
Een tokenizer verdeelt continue tekst in een reeks tokens, zoals het opdelen van een zin in woorden of een woord in hoofdformulieren.
Cognitive Search ondersteunt tokenizers in de volgende lijst. Meer informatie over elk punt vindt u in de Lucene-API-referentie.
| tokenizer_name | tokenizer_type 1 | Beschrijving en opties |
|---|---|---|
| klassiek | ClassicTokenizer | Tokenizer op basis van grammatica die geschikt is voor het verwerken van de meeste Europese documenten. Opties maxTokenLength (type: int) - de maximale lengte van het token. Standaardinstelling: 255, maximaal: 300. Tokens die langer zijn dan de maximale lengte worden gesplitst. |
| edgeNGram | EdgeNGramTokenizer | Tokeniseert de invoer van een rand in n-grammen van bepaalde grootte(en). Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum: 300. Moet groter zijn dan minGram. tokenChars (type: tekenreeksmatrice) - Tekenklassen die in de tokens moeten worden behouden. Toegestane waarden: "letter", "digit", "whitespace", "punctuation", "symbol". Wordt standaard ingesteld op een lege matrix: alle tekens blijven staan. |
| keyword_v2 | KeywordTokenizerV2 | De volledige invoer wordt als één token gebruikt. Opties maxTokenLength (type: int) - de maximale lengte van het token. Standaardinstelling: 256, maximaal: 300. Tokens die langer zijn dan de maximale lengte worden gesplitst. |
| Brief | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Deelt tekst op niet-letters. Tokens die langer zijn dan 255 tekens worden gesplitst. |
| Kleine letters | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Hiermee deelt u tekst op niet-letters en converteert u deze naar kleine letters. Tokens die langer zijn dan 255 tekens worden gesplitst. |
| microsoft_language_tokenizer | MicrosoftLanguageTokenizer | Verdeelt tekst met behulp van taalspecifieke regels. Opties maxTokenLength (type: int) - De maximale tokenlengte, standaard: 255, maximum: 300. Tokens die langer zijn dan de maximale lengte worden gesplitst. Tokens die langer zijn dan 300 tekens, worden eerst gesplitst in tokens met een lengte van 300, waarna elk van deze tokens wordt gesplitst op basis van de maxTokenLength-set. isSearchTokenizer (type: bool) : stel in op true als deze wordt gebruikt als de zoektokenizer, en stel in op false als deze wordt gebruikt als de indexeringstokenizer. language (type: string) - te gebruiken taal, standaard 'Engels'. Toegestane waarden zijn onder andere: "bangla", "japanese", "english", "chineseSimplified", "chineseTraditional", "germann", "tsjechisch", "deens", "nederlands", "english", "french", "german", "grieks", "gujarati", "hindi", "germanic", "chinese", "italian", "japanese", "kannada", "koreaans", "maley", "malayalam", "marathi", "norwegianBokmaal", "pools", "portuguese", "portugueseBratrician", "punjabi", "roemeens", "russisch", "teluguic", "telugu", "thai", " " oe", "urdu", "vietnamees" |
| microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Verdeelt tekst met behulp van taalspecifieke regels en vermindert woorden tot hun basisformulieren Opties maxTokenLength (type: int) - De maximale tokenlengte, standaard: 255, maximaal: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. Tokens die langer zijn dan 300 tekens, worden eerst gesplitst in tokens met een lengte van 300, waarna elk van deze tokens wordt gesplitst op basis van de maxTokenLength-set. isSearchTokenizer (type: bool) - Stel in op true als deze wordt gebruikt als de zoektokenizer, en stel in op false als deze wordt gebruikt als de indexeringstokenizer. taal (type: tekenreeks) - te gebruiken taal, standaard 'Engels'. Toegestane waarden zijn onder andere: "arabisch", "bangla", "fins", "french", "german", "tsjechisch", "deens", "nederlands", "english", "estn", "fins", "frans", "duits", "grieks", "gujarati", "hebreeuws", "hindi", "hongaars", "ic", "fins", "italiaans", "kannada", "letsn", "litignisch", "maley", "malayalam", "marathi", "noorsBokmaal", "pools", "portugees", "portugueseBratrician", "punjabi", "roemeens", "russisch", "servischeCyrillic", "servischLatin", "slow", "slown", "spaans", "zweeds", "tamil", " telugu", "turks", "aaneen", "urdu" |
| nGram | NGramTokenizer | Tokeniseert de invoer in n-gram van de opgegeven grootte(en). Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum: 300. Moet groter zijn dan minGram. tokenChars (type: tekenreeksmatrice) - Tekenklassen die in de tokens moeten worden behouden. Toegestane waarden: 'letter', 'digit', 'whitespace', 'interpunctie', 'symbool'. De standaardinstelling is een lege matrix: alle tekens blijven bestaan. |
| path_hierarchy_v2 | PathHierarchyTokenizerV2 | Tokenizer voor pad-achtige hiërarchieën. Opties scheidingsteken (type: tekenreeks) - Standaardinstelling: '/. vervanging (type: tekenreeks) - Als deze is ingesteld, vervangt het scheidingsteken. Standaard hetzelfde als de waarde van het scheidingsteken. maxTokenLength (type: int) - de maximale tokenlengte. Standaardinstelling: 300, maximaal: 300. Paden die langer zijn dan maxTokenLength worden genegeerd. reverse (type: bool) - Indien waar, genereert token in omgekeerde volgorde. Standaard: onwaar. skip (type: bool) - Initiële tokens om over te slaan. De standaardwaarde is 0. |
| Patroon | PatternTokenizer | Deze tokenizer maakt gebruik van regex-patroonmatching om afzonderlijke tokens te maken. Opties patroon (type: tekenreeks) : patroon van reguliere expressie dat moet overeenkomen met tokenscheidingstekens. De standaardwaarde is \W+ , die overeenkomt met niet-woordtekens. vlaggen (type: tekenreeks) - reguliere expressievlaggen. De standaardwaarde is een lege tekenreeks. Toegestane waarden: CANON_EQ, CASE_INSENSITIVE, OPMERKINGEN, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES group (type: int) - Welke groep u wilt extraheren in tokens. De standaardwaarde is -1 (splitsen). |
| standard_v2 | StandardTokenizerV2 | Onderbreekt tekst volgens de Unicode Text Segmentation-regels. Opties maxTokenLength (type: int) - de maximale tokenlengte. Standaardinstelling: 255, maximaal: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
| uax_url_email | UaxUrlEmailTokenizer | Tokenizeert URL's en e-mailberichten als één token. Opties maxTokenLength (type: int) - de maximale tokenlengte. Standaardinstelling: 255, maximaal: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
| Whitespace | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst bij witruimte. Tokens die langer zijn dan 255 tekens, worden gesplitst. |
1 Tokenizer-typen worden altijd vooraf in code voorafschreven met '#Microsoft.Azure.Search', zodat 'ClassicTokenizer' daadwerkelijk wordt opgegeven als '#Microsoft.Azure.Search.ClassicTokenizer'. We hebben het voorvoegsel verwijderd om de breedte van de tabel te verminderen, maar vergeet niet om het op te nemen in uw code. U ziet tokenizer_type alleen wordt opgegeven voor tokenizers die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is bij de letter-tokenizer, is er geen gekoppeld #Microsoft.Azure.Search-type.
Tokenfilters
Er wordt een tokenfilter gebruikt om de tokens te filteren of te wijzigen die door een tokenizer worden gegenereerd. U kunt bijvoorbeeld een filter in kleine letters opgeven dat alle tekens converteert naar kleine letters. U kunt meerdere tokenfilters hebben in een aangepaste analyse. Tokenfilters worden uitgevoerd in de volgorde waarin ze worden weergegeven.
In de onderstaande tabel zijn de tokenfilters die zijn geïmplementeerd met Apache Lucene, gekoppeld aan de Lucene-API-documentatie.
| token_filter_name | token_filter_type 1 | Beschrijving en opties |
|---|---|---|
| arabic_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een tokenfilter dat de Arabische normalizer gebruikt om de orthografie te normaliseren. |
| Apostrof | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Ontdoet alle tekens na een apostrof (inclusief de apostrof zelf). |
| asciifolding | AsciiFoldingTokenFilter | Converteert alfabetische, numerieke en symbolische Unicode-tekens die zich niet in de eerste 127 ASCII-tekens (het 'Basic Latin' Unicode-blok) in hun ASCII-equivalenten, indien aanwezig. Opties preserveOriginal (type: bool) - Indien waar, wordt het oorspronkelijke token bewaard. De standaardwaarde is false. |
| cjk_bigram | CjkBigramTokenFilter | Vormen bigrams van CJK-termen die worden gegenereerd op basis van StandardTokenizer. Opties ignoreScripts (type: tekenreeksmatrice) - Scripts die moeten worden genegeerd. Toegestane waarden zijn onder andere: "handtekening", "hiragana", "katakana", "hangul". De standaardwaarde is een lege lijst. outputUnigrams (type: bool) - Ingesteld op true als u altijd zowel unigrammen als bigrams wilt uitvoer. De standaardwaarde is false. |
| cjk_width | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert de verschillen in de CJK-breedte. Vouwt ASCII-varianten met volledige breedte in de equivalente Basic Latin- en Half width Katakana-varianten in de equivalente kana. |
| klassiek | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Hiermee verwijdert u de Engelse bezitt en punten van acroniemen. |
| common_grams | CommonGramTokenFilter | Bouw bigrams voor veel voorkomende termen tijdens het indexeren. Enkele termen worden ook nog steeds geïndexeerd, met bigrams als overlaid. Opties commonWords (type: tekenreeksmatrice) : de set algemene woorden. De standaardwaarde is een lege lijst. Vereist. ignoreCase (type: bool) - Indien waar, is matching hoofdlettergevoelig. De standaardwaarde is false. queryMode (type: bool) - genereert bigrams en verwijdert vervolgens veelgebruikte woorden en enkele termen, gevolgd door een gemeenschappelijk woord. De standaardwaarde is false. |
| dictionary_decompounder | DictionaryDecompounderTokenFilter | Samengestelde woorden die in veel Duitstalige talen zijn gevonden, worden ontleden. Opties wordList (type: tekenreeksmatrice) : de lijst met woorden die moeten worden gebruikt. De standaardwaarde is een lege lijst. Vereist. minWordSize (type: int) - Alleen woorden die langer zijn dan deze worden verwerkt. De standaardwaarde is 5. minSubwordSize (type: int) - Alleen subwoorden die langer zijn dan deze worden uitgevoerd. De standaardwaarde is 2. maxSubwordSize (type: int) - Alleen subwoorden die korter zijn dan deze worden uitgevoerd. De standaardwaarde is 15. onlyLongestMatch (type: bool) - Voeg alleen het langste overeenkomende subwoord toe aan de uitvoer. De standaardwaarde is false. |
| edgeNGram_v2 | EdgeNGramTokenFilterV2 | Genereert n-grammen van de opgegeven grootte(en) vanaf de voor- of achterkant van een invoer-token. Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximaal 300. Moet groter zijn dan minGram. side (type: tekenreeks) - hiermee geeft u aan vanaf welke zijde van de invoer de n-gram moet worden gegenereerd. Toegestane waarden: 'front', 'back' |
| elision | ElisionTokenFilter | Verwijdert elisies. 'l'avion' (het vlak) wordt bijvoorbeeld geconverteerd naar 'avion' (vlak). Opties artikelen (type: tekenreeksmatrice) - Een set artikelen die u wilt verwijderen. De standaardwaarde is een lege lijst. Als er geen lijst met artikelen is ingesteld, worden standaard alle Franse artikelen verwijderd. |
| german_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert Duitse tekens volgens de heuristiek van het Snowball-algoritme German2. |
| hindi_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert tekst in Hindi om enkele verschillen in spelvariaties te verwijderen. |
| indic_normalization | IndicNormalizationTokenFilter | Normaliseert de Unicode-weergave van tekst in de Intalige talen. |
| Houden | KeepTokenFilter | Een tokenfilter dat alleen tokens bevat met tekst in een opgegeven lijst met woorden. Opties keepWords (type: tekenreeksmatrice) : een lijst met woorden die u wilt behouden. De standaardwaarde is een lege lijst. Vereist. keepWordsCase (type: bool) - Indien waar, moet u eerst alle woorden in kleine letters gebruiken. De standaardwaarde is false. |
| keyword_marker | KeywordMarkerTokenFilter | Markeert termen als trefwoorden. Opties trefwoorden (type: tekenreeksmatrice) - Een lijst met woorden die moeten worden markeren als trefwoorden. De standaardwaarde is een lege lijst. Vereist. ignoreCase (type: bool) - Indien waar, moet u eerst alle woorden in kleine letters gebruiken. De standaardwaarde is false. |
| keyword_repeat | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Elk binnenkomend token wordt twee keer als trefwoord en eenmaal als niet-trefwoord twee keer als trefwoord. |
| kstem | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een krachtige kstemfilter voor Engels. |
| length | LengthTokenFilter | Hiermee verwijdert u woorden die te lang of te kort zijn. Opties min (type: int) - Het minimumaantal. Standaardinstelling: 0, maximum: 300. max (type: int) - het maximumaantal. Standaardinstelling: 300, maximaal: 300. |
| limiet | Microsoft.Azure.Search.LimitTokenFilter | Beperkt het aantal tokens tijdens het indexeren. Opties maxTokenCount (type: int) - Maximum aantal tokens dat moet worden geproduceerd. De standaardwaarde is 1. consumeAllTokens (type: bool) - Of alle tokens uit de invoer moeten worden verbruikt, zelfs als maxTokenCount is bereikt. De standaardwaarde is false. |
| Kleine letters | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert tokentekst in kleine gevallen. |
| nGram_v2 | NGramTokenFilterV2 | Genereert n-grammen van de opgegeven grootte(en). Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximaal 300. Moet groter zijn dan minGram. |
| pattern_capture | PatternCaptureTokenFilter | Maakt gebruik van Java-regexes voor het genereren van meerdere tokens, één voor elke opnamegroep in een of meer patronen. Opties patterns (type: string array) : een lijst met patronen die overeenkomen met elk token. Vereist. preserveOriginal (type: bool) - Ingesteld op true om het oorspronkelijke token te retourneren, zelfs als een van de patronen overeenkomt, standaard: true |
| pattern_replace | PatternReplaceTokenFilter | Een tokenfilter waarmee een patroon wordt toegepast op elk token in de stroom, waarbij overeenkomende exemplaren worden vervangen door de opgegeven vervangingsreeks. Opties patroon (type: tekenreeks) - vereist. vervanging (type: tekenreeks) - vereist. |
| persian_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normalisering wordt toegepast voor Den. |
| Fonetische | PhoneticTokenFilter | Tokens maken voor phonetic matches. Opties encoder (type: tekenreeks) - Te gebruiken f phonetic encoder. Toegestane waarden zijn: "metaphone", "doubleMetaphone", "soundex", "refinedPhoneex", "caverphone1", "caverphone2", "nimsiis", "koelnerPhonetik", "haasePhonetik", "beiderMorse". Standaardinstelling: 'metaphone'. De standaardwaarde is metaphone. Zie encoder voor meer informatie. replace (type: bool) - True als gecodeerde tokens oorspronkelijke tokens moeten vervangen, onwaar als ze moeten worden toegevoegd als synoniemen. De standaardwaarde is true. |
| porter_stem | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Transformeert de tokenstroom volgens het Algoritme voor het verwijderen van een Token. |
| Omgekeerde | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | De tokenreeks wordt omgekeerd. |
| scandinavian_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert het gebruik van de uitwisselbare Tekens. |
| scandinavian_folding | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Vouwt de tekens åÅvoudigseen->en öÖåÅ->o. Het maakt ook gebruik van dubbele klinkers aa, ae, ao, oe en oo af, waardoor alleen de eerste klinker over is. |
| Grind | FilteringTokenFilter | Hiermee maakt u combinaties van tokens als één token. Opties maxShingleSize (type: int) - standaard ingesteld op 2. minShingleSize (type: int) - standaard ingesteld op 2. outputUnigrams (type: bool) - indien waar, bevat de uitvoerstroom de invoertokens (unigrammen) en de tokens. De standaardwaarde is true. outputUnigramsIfNoShingles (type: bool) - Als dit waar is, overschrijven u het gedrag van outputUnigrams==false voor die momenten waarop er geen kan worden gemaakt. De standaardwaarde is false. tokenSeparator (type: tekenreeks) : de tekenreeks die moet worden gebruikt bij het samenvoegen van aangrenzende tokens om een token te vormen. De standaardwaarde is " ". filterToken (type: tekenreeks) : de tekenreeks die moet worden invoegen voor elke positie waarop er geen token is. De standaardwaarde is _. |
| Snowball | SnowballTokenFilter | Snowball Token Filter. Opties language (type: tekenreeks) - Toegestane waarden zijn onder andere: "english", "german", "luis", "deens", "nederlands", "english", "fins", "french", "german", "german2", "hongaars", "italian", "kp", "lovins", "noors", "portuge", "portugees", "russisch", "spaans", "zweeds", "turks" |
| sorani_normalization | SoraniNormalizationTokenFilter | Normaliseert de Unicode-weergave van Sorani-tekst. Opties Geen. |
| stemmer | StemmerTokenFilter | Taalsyte specifiek filter voor het verwijderen van een filter. Opties language (type: tekenreeks) - Toegestane waarden zijn onder andere: - "Arabisch" - "naar" - "100" - 'Braziliaans' - 'roemeens' - "kunt u" - 'Tsjechisch' - 'deens' - "Nederlands" - "nederlandsKp" - "Engels" - 'lightEnglish' - 'minimalEnglish' - "possessiveEnglish" - "had2" - 'lovins' - fins - 'lightFinnish' - "Frans" - 'lightFrench' - 'minimalFrench' - "galicisch" - 'minimalGalician' - "Duits" - "german2" - 'lightGerman' - 'minimalGerman' - "Grieks" - "hindi" - "Hongaars" - "lightHungung" - 'nederlands' - "kunt u" - "Italiaans" - 'lightEnn' - "sorani" - 'lets' - "noors" - 'lightNorwegian' - 'minimalNorwegian' - lightNynorsk - 'minimalNynorsk' - "Portugees" - lightPortuguese - 'minimalPortuguese' - "portugueseRslp" - "Roemeens" - "Russisch" - 'lightRussian' - "Spaans" - 'lightSpanish' - 'Zweeds' - 'lightSwedish' - "Turks" |
| stemmer_override | StemmerOverrideTokenFilter | Woordenlijsttermen worden gemarkeerd als trefwoorden, waardoor de keten niet kan worden gedijen. Moet worden geplaatst vóór eventuele filterfilters. Opties regels (type: tekenreeksmatrice) - Regels in de volgende notatie 'word => stem' bijvoorbeeld 'ran => run'. De standaardwaarde is een lege lijst. Vereist. |
| stopwords | StopwordsTokenFilter | Hiermee verwijdert u stopwoorden uit een tokenstroom. Het filter maakt standaard gebruik van een vooraf gedefinieerde stop word-lijst voor Engels. Opties stopwords (type: tekenreeksmatrice) - Een lijst met stopwords. Kan niet worden opgegeven als een stopwordsList is opgegeven. stopwordsList (type: tekenreeks) - Een vooraf gedefinieerde lijst met stopwords. Kan niet worden opgegeven als stopwords is opgegeven. Toegestane waarden zijn onder andere:"arabische", "naar", "naar", "braziliaans", "hebreeuws", "tsjechisch", "deens", "nederlands", "english", "fins", "french", "galician", "german", "grieks", "hindi", "hongaars", "fins", "sorani", "italian", "lets", "noors", "fins", "portugees", "portugees", "russisch", "sorani", "spaans", "zweeds", "thai", "turks", standaard: "english". Kan niet worden opgegeven als stopwords is opgegeven. ignoreCase (type: bool) - Indien waar, worden alle woorden eerst in kleine letters gebruikt. De standaardwaarde is false. removeTrailing (type: bool) - Indien waar, negeert u de laatste zoekterm als het een stopwoord is. De standaardwaarde is true. |
| Synoniem | SynoniemtokenFilter | Komt overeen met synoniemen van één of meerdere woorden in een tokenstroom. Opties synoniemen (type: tekenreeksmatrice) - vereist. Lijst met synoniemen in een van de volgende twee indelingen: -geweldig, zindelijk,> geweldig - alle termen aan de linkerkant van => symbool worden vervangen door alle termen aan de rechterkant. -geweldig, gek, geweldig, een door komma's gescheiden lijst met gelijkwaardige woorden. Stel de optie voor uitbreiden in om te wijzigen hoe deze lijst wordt geïnterpreteerd. ignoreCase (type: bool) - Hoofdletters en kleine letters voor overeenkomende invoer. De standaardwaarde is false. expand (type: bool) - Indien waar, worden alle woorden in de lijst met synoniemen (als => notatie niet gebruikt) aan elkaar toe te voegen. De volgende lijst: fantastisch, gek, geweldig, geweldig is gelijk aan: fantastisch, gek, fantastisch, geweldig => geweldig, gek, mooi, geweldig -Indien onwaar, de volgende lijst: geweldig, gek, geweldig, geweldig zijn gelijk aan: geweldig, gek, geweldig => geweldig. |
| Trim | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Vooraan en achteraan worden witruimten van tokens inkort. |
| Afkappen | TruncateTokenFilter | De termen worden afgekapt tot een specifieke lengte. Opties length (type: int) - Standaard: 300, maximaal: 300. Vereist. |
| Unieke | UniqueTokenFilter | Filtert tokens uit met dezelfde tekst als het vorige token. Opties onlyOnSamePosition (type: bool) - Als deze instelling is ingesteld, verwijdert u duplicaten alleen op dezelfde positie. De standaardwaarde is true. |
| Hoofdletters | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert tokentekst naar hoofdletters. |
| word_delimiter | WordDelimiterTokenFilter | Splitst woorden op in subwoorden en voert optionele transformaties uit op subwoordgroepen. Opties generateWordParts (type: bool) - Zorgt ervoor dat delen van woorden worden gegenereerd, bijvoorbeeld 'AzureSearch' wordt 'Azure' 'Search'. De standaardwaarde is true. generateNumberParts (type: bool) - Zorgt ervoor dat numerieke subwoorden worden gegenereerd. De standaardwaarde is true. catenateWords (type: bool) - zorgt ervoor dat het maximum aantal runs van woordonderdelen moet worden ge catenate, bijvoorbeeld 'Azure-Search' wordt 'AzureSearch'. De standaardwaarde is false. catenateNumbers (type: bool) - Zorgt ervoor dat maximum aantal onderdelen moet worden ge catenate, bijvoorbeeld "1-2" wordt "12". De standaardwaarde is false. catenateAll (type: bool) - Zorgt ervoor dat alle subwoordonderdelen worden ge catenate, bijvoorbeeld 'Azure-Search-1' wordt 'AzureSearch1'. De standaardwaarde is false. splitOnCaseChange (type: bool) - Indien waar, splitst woorden op caseChange, bijvoorbeeld 'AzureSearch' wordt 'Azure' 'Search'. De standaardwaarde is true. preserveOriginal: zorgt ervoor dat oorspronkelijke woorden behouden blijven en worden toegevoegd aan de lijst met subwoorden. De standaardwaarde is false. splitOnNumerics (type: bool) - Indien waar, splitst op getallen, wordt 'Azure1Search' bijvoorbeeld 'Azure' '1' 'Search'. De standaardwaarde is true. stemEnglishPossessive (type: bool) - Zorgt ervoor dat er voor elk subwoord een 's' moet worden verwijderd. De standaardwaarde is true. protectedWords (type: tekenreeksmatrice) - Tokens om te beveiligen tegen scheidingstekens. De standaardwaarde is een lege lijst. |
1 Tokenfiltertypen worden altijd voorafschreven in code met '#Microsoft.Azure.Search', zodat 'ArabicNormalizationTokenFilter' daadwerkelijk wordt opgegeven als '#Microsoft.Azure.Search.ArabicNormalizationTokenFilter'. We hebben het voorvoegsel verwijderd om de breedte van de tabel te verminderen, maar vergeet niet om het op te nemen in uw code.