Aangepaste analysefuncties toevoegen aan tekenreeksvelden in een Azure AI Search-index
Een aangepaste analyse is een door de gebruiker gedefinieerde combinatie van één tokenizer, een of meer tokenfilters en een of meer tekenfilters. Er wordt een aangepaste analyse opgegeven in een zoekindex en vervolgens naar een naam verwezen voor velddefinities waarvoor aangepaste analyse is vereist. Een aangepaste analyse wordt per veld aangeroepen. Kenmerken in het veld bepalen of het wordt gebruikt voor indexering, query's of beide.
In een aangepaste analyse bereiden tekenfilters de invoertekst voor voordat deze wordt verwerkt door de tokenizer (bijvoorbeeld het verwijderen van markeringen). Vervolgens breekt de tokenizer tekst op in tokens. Ten slotte wijzigen tokenfilters de tokens die door de tokenizer worden verzonden. Zie Analyzers in Azure AI Search voor concepten en voorbeelden.
Waarom een aangepaste analyse gebruiken?
Een aangepaste analyse geeft u controle over het proces van het converteren van tekst naar indexeerbare en doorzoekbare tokens door u in staat te stellen te kiezen welke typen analyse of filters moeten worden aangeroepen, en de volgorde waarin ze plaatsvinden.
Maak en wijs een aangepaste analyse toe als er geen standaardanalyse (Standard Lucence), ingebouwde of taalanalyses voldoende zijn voor uw behoeften. U kunt ook een aangepaste analyse maken als u een ingebouwde analyse wilt gebruiken met aangepaste opties. Als u bijvoorbeeld de 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 waarbij aangepaste analysen nuttig kunnen zijn, zijn onder andere:
Het gebruik van tekenfilters om HTML-markeringen te verwijderen voordat tekstinvoer wordt getokeniseerd of bepaalde tekens of symbolen vervangen.
Fonetische zoekopdracht. Voeg een fonetisch filter toe om te zoeken op basis van hoe een woord klinkt, niet hoe het wordt gespeld.
Schakel lexicale analyse uit. Gebruik trefwoordanalyse om doorzoekbare velden te maken die niet worden geanalyseerd.
Snel zoeken naar voor- en achtervoegsels. Voeg het Edge N-gram-tokenfilter toe om voorvoegsels van woorden te indexeren om snel voorvoegselkoppeling mogelijk te maken. Combineer het met het filter Reverse token om achtervoegsels te vergelijken.
Aangepaste tokenisatie. Gebruik bijvoorbeeld de Whitespace-tokenizer om zinnen in tokens op te splitsen met behulp van witruimte als scheidingsteken
ASCII folding. Voeg het Standaard ASCII-vouwfilter toe om diakritische tekens zoals ö of ê te normaliseren in zoektermen.
Notitie
Aangepaste analysefuncties worden niet weergegeven in Azure Portal. De enige manier om een aangepaste analyse toe te voegen, is via code waarmee een index wordt gedefinieerd.
Een aangepaste analyse maken
Als u een aangepaste analyse wilt maken, geeft u deze op in de analyzers
sectie van een index tijdens het ontwerp en verwijst u ernaar op doorzoekbare Edm.String
velden met behulp van de analyzer
eigenschap of het indexAnalyzer
paar searchAnalyzer
.
Een analysedefinitie 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 kunnen niet hetzelfde zijn als een van de ingebouwde analyses, tokenizers, tokenfilters of tekensfilters. Deze mag alleen letters, cijfers, spaties, streepjes of onderstrepingstekens bevatten, mag alleen beginnen en eindigen met alfanumerieke tekens en mag maximaal 128 tekens bevatten.
Het type moet #Microsoft.Azure.Search.CustomAnalyzer zijn.
charFilters
kan een of meer filters zijn van tekenfilters, verwerkt vóór tokenisatie, in de opgegeven volgorde. Sommige tekenfilters hebben opties die in eencharFilters
sectie kunnen worden ingesteld. Tekenfilters zijn optioneel.tokenizer
is precies één tokenizer. Er is een waarde vereist. Als u meer dan één tokenizer nodig hebt, kunt u meerdere aangepaste analysefuncties maken en deze op basis van een veld per veld toewijzen in uw indexschema.tokenFilters
kan een of meer filters zijn van tokenfilters, verwerkt na tokenisatie, in de opgegeven volgorde. Voor tokenfilters met opties voegt u eentokenFilter
sectie toe om de configuratie op te geven. Tokenfilters zijn optioneel.
Analysefuncties mogen geen tokens produceren die langer zijn dan 300 tekens of indexering mislukt. Als u lange token wilt knippen of wilt uitsluiten, gebruikt u respectievelijk het TruncateTokenFilter en het LengthTokenFilter . Zie Tokenfilters voor naslaginformatie.
"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 overal in de hoofdtekst van een aanvraag voor het maken van een index plaatsen, maar meestal gaat dit 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 als zodanig wilt gebruiken, geeft u dit op naam op in de analysedefinitie. Zie Create Index (REST) voor meer informatie. Zie Analysefunctie toevoegen in Azure AI Search voor meer voorbeelden.
Aangepaste analysetests testen
U kunt de Test Analyzer (REST) gebruiken om te zien hoe een analyse de opgegeven tekst in tokens onderbreekt.
Aanvragen
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 aan een bestaande index worden toegevoegd als de allowIndexDowntime
vlag is ingesteld op 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 minstens een paar seconden offline gehaald, waardoor uw indexerings- en queryaanvragen mislukken. De beschikbaarheid van de prestaties en schrijfbewerkingen van de index kan enkele minuten worden beperkt nadat de index is bijgewerkt of langer voor zeer grote indexen, maar deze effecten zijn tijdelijk en worden uiteindelijk zelfstandig opgelost.
Ingebouwde analyses
Als u een ingebouwde analyse wilt gebruiken met aangepaste opties, is het maken van een aangepaste analyse het mechanisme waarmee u deze opties opgeeft. Als u daarentegen een ingebouwde analyse 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 sommige productnamen. |
patroon | PatternAnalyzer | Scheidt tekst flexibel in termen via een normaal expressiepatroon. Opties kleine letters (type: bool): bepaalt of termen in kleine letters worden weergegeven. De standaardwaarde is waar. patroon (type: tekenreeks) - Een normaal expressiepatroon dat overeenkomt met tokenscheidingstekens. De standaardwaarde is \W+ , die overeenkomt met niet-woordtekens. vlaggen (type: tekenreeks) - Reguliere expressievlagmen. De standaardwaarde is een lege tekenreeks. Toegestane waarden: CANON_EQ, CASE_INSENSITIVE, OPMERKINGEN, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES stopwords (type: tekenreeksmatrix) - Een lijst met stopwoorden. De standaardwaarde is een lege lijst. |
eenvoudig | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst bij niet-letters en converteert deze naar kleine letters. |
standaard (Ook wel standaard.lucene genoemd) |
StandardAnalyzer | Standard Lucene Analyzer, samengesteld uit de standaardtokenizer, het filter in 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: tekenreeksmatrix) - Een lijst met stopwoorden. De standaardwaarde is een lege lijst. |
standardasciifolding.lucene | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Standaardanalyse met Ascii-vouwfilter. |
stoppen | StopAnalyzer | Hiermee wordt tekst op niet-letters verdeeld, worden de filters voor kleine letters en stopwoordtoken toegepast. Opties stopwords (type: tekenreeksmatrix) - Een lijst met stopwoorden. 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 voorafgegaan door code met #Microsoft.Azure.Search
een dergelijke waarde die PatternAnalyzer
daadwerkelijk 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 analysen die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is met de trefwoordanalyse, is er geen gekoppeld #Microsoft.Azure.Search-type.
Tekenfilters
Tekenfilters voegen verwerking toe voordat een tekenreeks de tokenizer bereikt.
Azure AI Search ondersteunt tekenfilters in de volgende lijst. Meer informatie over elk exemplaar vindt u in de Lucene-API-verwijzing.
char_filter_name | char_filter_type 1 | Beschrijving en opties |
---|---|---|
html_strip | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een tekenfilter waarmee HTML-constructies worden verwijderd. |
mapping | MappingCharFilter | Een tekenfilter waarmee toewijzingen worden toegepast die zijn gedefinieerd met de optie Toewijzingen. Overeenkomende waarden zijn greedy (langste patroonkoppeling op een bepaald punt wint). Vervanging mag de lege tekenreeks zijn. Opties toewijzingen (type: tekenreeksmatrix) - Een lijst met toewijzingen van 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 een reguliere expressie gebruikt om tekenreeksen te identificeren die moeten worden bewaard en een vervangend patroon 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 voor tekens worden altijd voorafgegaan door code met #Microsoft.Azure.Search
een zodanige waarde dat 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 dat char_filter_type alleen is opgegeven voor filters die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is met html_strip, is er geen gekoppeld type #Microsoft.Azure.Search.
Tokenizers
Een tokenizer verdeelt doorlopende tekst in een reeks tokens, zoals het verbreken van een zin in woorden of een woord in hoofdformulieren.
Azure AI Search ondersteunt tokenizers in de volgende lijst. Meer informatie over elk exemplaar vindt u in de Lucene-API-verwijzing.
tokenizer_name | tokenizer_type 1 | Beschrijving en opties |
---|---|---|
klassiek | ClassicTokenizer | Op grammatica gebaseerde tokenizer die geschikt is voor het verwerken van de meeste Europese documenten. Opties maxTokenLength (type: int) - De maximale tokenlengte. Standaard: 255, maximum: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
edgeNGram | EdgeNGramTokenizer | Hiermee wordt de invoer van een rand in n-gram van opgegeven grootte(n) tokenizes. Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum: 300. Moet groter zijn dan minGram. tokenChars (type: tekenreeksmatrix) - Tekenklassen die in de tokens moeten worden bewaard. Toegestane waarden: letter , , digit whitespace , , punctuation , . symbol Standaard ingesteld op een lege matrix: alle tekens worden opgeslagen. |
keyword_v2 | KeywordTokenizerV2 | Hiermee wordt de volledige invoer als één token verzonden. Opties maxTokenLength (type: int) - De maximale tokenlengte. Standaard: 256, maximum: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
brief | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst bij niet-letters. Tokens die langer zijn dan 255 tekens, worden gesplitst. |
onderkast | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst bij niet-letters en converteert deze naar kleine letters. Tokens die langer zijn dan 255 tekens, worden gesplitst. |
microsoft_language_tokenizer | MicrosoftLanguageTokenizer | Verdeelt tekst met 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 van lengte 300 en vervolgens wordt elk van deze tokens gesplitst op basis van de set maxTokenLength. isSearchTokenizer (type: bool) - Ingesteld op true als deze wordt gebruikt als de zoektokenizer, ingesteld op false als deze wordt gebruikt als de indexeringstokenizer. taal (type: tekenreeks) - Te gebruiken taal, standaard english . Toegestane waarden zijn: bangla , , catalan bulgarian , chineseSimplified , chineseTraditional , ukrainian urdu thai 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 vietnamese |
microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Verdeelt tekst met taalspecifieke regels en vermindert woorden tot de basisformulieren. Deze tokenizer voert lemmatisatie uit. 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 van lengte 300 en vervolgens wordt elk van deze tokens gesplitst op basis van de set maxTokenLength. isSearchTokenizer (type: bool) - Ingesteld op true als deze wordt gebruikt als de zoektokenizer, ingesteld op false als deze wordt gebruikt als de indexeringstokenizer. taal (type: tekenreeks) - Te gebruiken taal, standaard english . Toegestane waarden zijn: arabic malayalam , bangla bulgarian catalan croatian czech danish dutch english estonian finnish french german greek gujarati hebrew hindi hungarian icelandic indonesian italian kannada latvian lithuanian malay marathi norwegianBokmaal polish portuguese portugueseBrazilian punjabi romanian russian serbianCyrillic serbianLatin slovak slovenian spanish swedish tamil telugu turkish ukrainian urdu |
nGram | NGramTokenizer | Hiermee wordt de invoer in n-grammen van de opgegeven grootte(n) tokenizes. Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum: 300. Moet groter zijn dan minGram. tokenChars (type: tekenreeksmatrix) - Tekenklassen die in de tokens moeten worden bewaard. Toegestane waarden: letter , digit , whitespace , , punctuation . symbol Standaard ingesteld op een lege matrix: alle tekens worden opgeslagen. |
path_hierarchy_v2 | PathHierarchyTokenizerV2 | Tokenizer voor padachtige hiërarchieën. Opties scheidingsteken (type: tekenreeks) - Standaard: '/. vervanging (type: tekenreeks) - Als deze is ingesteld, vervangt u het scheidingsteken. Standaard hetzelfde als de waarde van het scheidingsteken. maxTokenLength (type: int) - De maximale tokenlengte. Standaard: 300, maximum: 300. Paden die langer zijn dan maxTokenLength, worden genegeerd. reverse (type: bool) - Indien waar, genereert token in omgekeerde volgorde. Standaard: onwaar. skip (type: bool) - Eerste tokens om over te slaan. De standaardwaarde is 0. |
patroon | PatternTokenizer | Deze tokenizer maakt gebruik van regex-patronen die overeenkomen met het samenstellen van afzonderlijke tokens. Opties patroon (type: tekenreeks) - Standaardexpressiepatroon dat overeenkomt met tokenscheidingstekens. De standaardwaarde is \W+ , die overeenkomt met niet-woordtekens. vlaggen (type: tekenreeks) - Reguliere expressievlagmen. De standaardwaarde is een lege tekenreeks. Toegestane waarden: CANON_EQ, CASE_INSENSITIVE, OPMERKINGEN, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES groep (type: int) - Welke groep moet worden geëxtraheerd in tokens. De standaardwaarde is -1 (gesplitst). |
standard_v2 | StandardTokenizerV2 | Hiermee wordt de tekst onderbreekt volgens de unicode-regels voor tekstsegmentatie. Opties maxTokenLength (type: int) - De maximale tokenlengte. Standaard: 255, maximum: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
uax_url_email | UaxUrlEmailTokenizer | Hiermee worden URL's en e-mailberichten als één token gewijzigd. Opties maxTokenLength (type: int) - De maximale tokenlengte. Standaard: 255, maximum: 300. Tokens die langer zijn dan de maximale lengte, worden gesplitst. |
Whitespace | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verdeelt tekst op witruimte. Tokens die langer zijn dan 255 tekens, worden gesplitst. |
1 Tokenizer-typen worden altijd voorafgegaan door code met #Microsoft.Azure.Search
een zodanige waarde dat 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 dat tokenizer_type alleen is opgegeven voor tokenizers die kunnen worden aangepast. Als er geen opties zijn, zoals het geval is met de lettertokenizer, is er geen gekoppeld #Microsoft.Azure.Search-type.
Tokenfilters
Een tokenfilter wordt gebruikt om de tokens die door een tokenizer worden gegenereerd, uit te filteren of te wijzigen. U kunt bijvoorbeeld een filter in kleine letters opgeven waarmee alle tekens worden geconverteerd naar kleine letters. U kunt meerdere tokenfilters in een aangepaste analyse hebben. 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 waarmee de Arabische normalisatiefunctie wordt toegepast om de orthografie te normaliseren. |
apostrof | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Stript 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) bevinden in hun ASCII-equivalenten, indien aanwezig.Opties preserveOriginal (type: bool) - Indien waar, wordt het oorspronkelijke token bewaard. De standaardwaarde is onwaar. |
cjk_bigram | CjkBigramTokenFilter | Formulieren van bigrams van CJK-termen die worden gegenereerd op basis van StandardTokenizer. Opties ignoreScripts (type: tekenreeksmatrix) - Scripts die moeten worden genegeerd. Toegestane waarden zijn: han , hiragana , katakana , . hangul De standaardwaarde is een lege lijst.outputUnigrams (type: bool) - Ingesteld op true als u altijd unigrammen en bigrams wilt uitvoeren. De standaardwaarde is onwaar. |
cjk_width | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert CJK-breedteverschillen. Hiermee vouwt u ASCII-varianten in de equivalente latijnse en halve breedte Katakana-varianten in de equivalente kana. |
klassiek | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Verwijdert de Engelse bezitwoorden en stippen uit acroniemen. |
common_grams | CommonGramTokenFilter | Bouw bigrams voor veelgebruikte termen tijdens het indexeren. Ook enkele termen worden nog steeds geïndexeerd, waarbij bigrams over elkaar heen worden weergegeven. Opties commonWords (type: tekenreeksmatrix) - De set veelgebruikte woorden. De standaardwaarde is een lege lijst. Vereist. ignoreCase (type: bool) - Indien waar, is overeenkomend hoofdlettergevoelig. De standaardwaarde is onwaar. queryMode (type: bool) - Genereert bigrams en verwijdert vervolgens algemene woorden en enkele termen gevolgd door een gemeenschappelijk woord. De standaardwaarde is onwaar. |
dictionary_decompounder | DictionaryDecompounderTokenFilter | Ontleden samengestelde woorden in veel Duitstalige talen. Opties wordList (type: tekenreeksmatrix) - De lijst met woorden die moeten worden vergeleken. De standaardwaarde is een lege lijst. Vereist. minWordSize (type: int): alleen woorden langer dan deze worden verwerkt. De standaard is 5. minSubwordSize (type: int) - Alleen subwoorden langer dan deze worden uitgevoerd. De standaard is 2. maxSubwordSize (type: int) - Alleen subwoorden korter dan dit wordt uitgevoerd. De standaardwaarde is 15. onlyLongestMatch (type: bool) - Voeg alleen het langste overeenkomende subwoord toe aan uitvoer. De standaardwaarde is onwaar. |
edgeNGram_v2 | EdgeNGramTokenFilterV2 | Hiermee genereert u n-grammen van de opgegeven grootte(en) vanaf de voor- of achterkant van een invoertoken. Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum 300. Moet groter zijn dan minGram. zijzijde (type: tekenreeks) - Geeft aan op welke kant van de invoer de n-gram moet worden gegenereerd. Toegestane waarden: front , back |
afkapping | ElisionTokenFilter | Verwijdert elisions. (het vliegtuig) wordt bijvoorbeeld l'avion geconverteerd naar avion (vlak).Opties artikelen (type: tekenreeksmatrix) - Een reeks artikelen die moeten worden verwijderd. 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 Duitse2 sneeuwbalalgoritme . |
hindi_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert tekst in Hindi om enkele verschillen in spellingvariaties te verwijderen. |
indic_normalization | IndicNormalizationTokenFilter | Normaliseert de Unicode-weergave van tekst in Indiase talen. |
houden | KeepTokenFilter | Een tokenfilter dat alleen tokens met tekst in de opgegeven lijst met woorden bewaart. Opties keepWords (type: tekenreeksmatrix) - Een lijst met woorden die u wilt behouden. De standaardwaarde is een lege lijst. Vereist. keepWordsCase (type: bool) - Indien waar, kleine letters eerst alle woorden. De standaardwaarde is onwaar. |
keyword_marker | KeywordMarkerTokenFilter | Hiermee worden termen gemarkeerd als trefwoorden. Opties trefwoorden (type: tekenreeksmatrix) - Een lijst met woorden die moeten worden gemarkeerd als trefwoorden. De standaardwaarde is een lege lijst. Vereist. ignoreCase (type: bool) - Indien waar, kleine letters eerst alle woorden. De standaardwaarde is onwaar. |
keyword_repeat | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Elke binnenkomende token wordt twee keer als trefwoord en eenmaal als niet-trefwoord verzonden. |
kstem | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Een high-performance kstem filter voor Engels. |
length | LengthTokenFilter | Hiermee verwijdert u woorden die te lang of te kort zijn. Opties min (type: int) - Het minimumaantal. Standaard: 0, maximum: 300. max (type: int) - Het maximumaantal. Standaard: 300, maximum: 300. |
limit | 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): geeft aan of alle tokens uit de invoer moeten worden verbruikt, zelfs als maxTokenCount is bereikt. De standaardwaarde is onwaar. |
onderkast | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Hiermee normaliseert u tokentekst naar kleine letters. |
nGram_v2 | NGramTokenFilterV2 | Hiermee worden n-grammen van de opgegeven grootte(n) gegenereerd. Opties minGram (type: int) - Standaard: 1, maximum: 300. maxGram (type: int) - Standaard: 2, maximum 300. Moet groter zijn dan minGram. |
pattern_capture | PatternCaptureTokenFilter | Gebruikt Java-regexes om meerdere tokens te verzenden, één voor elke capturegroep in een of meer patronen. Opties patronen (type: tekenreeksmatrix): 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 dat een patroon toepast 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) | Past normalisatie toe voor Perzisch. |
fonetisch | FonetischTokenFilter | Tokens maken voor fonetische overeenkomsten. Opties encoder (type: tekenreeks) - Fonetische encoder die moet worden gebruikt. Toegestane waarden zijn: , , , , refinedSoundex , caverphone1 , caverphone2 , cologne , nysiis , koelnerPhonetik . haasePhonetik beiderMorse soundex doubleMetaphone metaphone Standaard: metaphone . De standaardwaarde is een metaphone.Zie encoder voor meer informatie. vervang (type: bool) - Waar als gecodeerde tokens oorspronkelijke tokens moeten vervangen, onwaar als ze als synoniemen moeten worden toegevoegd. De standaardwaarde is waar. |
porter_stem | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Transformeert de tokenstroom volgens het porter-stemmingsalgoritmen. |
reverse | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Hiermee wordt de tokentekenreeks omgekeerd. |
scandinavian_normalization | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert het gebruik van de uitwisselbare Scandinavische personages. |
scandinavian_folding | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Vouwt Scandinavische personages åÅäæÄÆ in a en öÖøØ in o . Het discrimineert ook het gebruik van dubbele klinkersaa , ae en oo ao het oe verlaten van alleen de eerste. |
dakplankje | ShingleTokenFilter | 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 shingles. De standaardwaarde is waar. outputUnigramsIfNoShingles (type: bool) - Indien waar, overschrijft u het gedrag van outputUnigrams==false voor die tijden wanneer er geen shingles beschikbaar zijn. De standaardwaarde is onwaar. tokenSeparator (type: tekenreeks) - De tekenreeks die moet worden gebruikt bij het samenvoegen van aangrenzende tokens om een shingle te vormen. De standaardwaarde is één lege ruimte . filterToken (type: tekenreeks): de tekenreeks die moet worden ingevoegd voor elke positie waarvoor geen token is. De standaardwaarde is _ . |
sneeuwbal | SnowballTokenFilter | Sneeuwbaltokenfilter. Opties taal (type: tekenreeks) - Toegestane waarden zijn: , , , , , french spanish german finnish english dutch russian kp lovins norwegian italian portuguese swedish porter german2 hungarian romanian danish catalan basque armenian turkish |
sorani_normalization | SoraniNormalizationTokenFilter | Hiermee wordt de Unicode-weergave van Sorani tekst genormaliseerd.Opties Geen. |
stemmer | StemmerTokenFilter | Taalspecifiek stamfilter. Opties taal (type: tekenreeks) - Toegestane waarden zijn: - 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 | Woordenlijst-Stemmed-termen worden gemarkeerd als trefwoorden, waardoor de keten niet wordt afgeremd. Moet vóór stemmingsfilters worden geplaatst. Opties regels (type: tekenreeksmatrix) - Stemmingsregels 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 lijst met stopwoorden voor Engels. Opties stopwords (type: tekenreeksmatrix) - Een lijst met stopwoorden. Kan niet worden opgegeven als een stopwordsList is opgegeven. stopwordsList (type: tekenreeks) - Een vooraf gedefinieerde lijst met stopwoorden. Kan niet worden opgegeven als stopwords deze is opgegeven. Toegestane waarden zijn: , , , , , catalan bulgarian , czech , danish , dutch , finnish english portuguese persian latvian irish italian hindi hungarian swedish french sorani german norwegian romanian indonesian spanish thai greek russian galician , , , standaard: english turkish brazilian basque armenian arabic Kan niet worden opgegeven als stopwords deze is opgegeven. ignoreCase (type: bool): indien waar, worden eerst alle woorden in kleine letters weergegeven. De standaardwaarde is onwaar. removeTrailing (type: bool) - Indien waar, negeert u de laatste zoekterm als het een stopwoord is. De standaardwaarde is waar. |
synoniem | SynoniemtokenFilter | Komt overeen met synoniemen van één of meerdere woorden in een tokenstroom. Opties synoniemen (type: tekenreeksmatrix) - Vereist. Lijst met synoniemen in een van de volgende twee indelingen: -ongelooflijk, ongelooflijk, fantastisch => geweldig - alle termen aan de linkerkant van => symbool worden vervangen door alle termen aan de rechterkant. -ongelooflijk, ongelooflijk, fantastisch, geweldig - Een door komma's gescheiden lijst met equivalente woorden. Stel de uitvouwoptie in om te wijzigen hoe deze lijst wordt geïnterpreteerd. ignoreCase (type: bool) - Invoer van hoofdletters en kleine letters voor overeenkomende invoer. De standaardwaarde is onwaar. uitvouwen (type: bool) - Indien waar, worden alle woorden in de lijst met synoniemen (indien => notatie niet gebruikt) aan elkaar toegewezen. De volgende lijst: ongelooflijk, ongelooflijk, fantastisch, geweldig is gelijk aan: ongelooflijk, ongelooflijk, fantastisch , geweldig => ongelooflijk, ongelooflijk, fantastisch, geweldig - Als onwaar, de volgende lijst: ongelooflijk, ongelooflijk, fantastisch, geweldig zijn gelijk aan: ongelooflijk, ongelooflijk, fantastisch, geweldig => ongelooflijk. |
trim | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Trimt voorloop- en volgspaties van tokens. |
truncate | TruncateTokenFilter | Kap de termen af in een specifieke lengte. Opties lengte (type: int) - Standaard: 300, maximum: 300. Vereist. |
uniek | UniqueTokenFilter | Hiermee worden tokens gefilterd met dezelfde tekst als het vorige token. Opties onlyOnSamePosition (type: bool) - Als deze optie is ingesteld, verwijdert u alleen duplicaten op dezelfde positie. De standaardwaarde is waar. |
Hoofdletters | (type is alleen van toepassing wanneer er opties beschikbaar zijn) | Normaliseert tokentekst in hoofdletters. |
word_delimiter | WordDelimiterTokenFilter | Splitst woorden in subwoorden en voert optionele transformaties uit voor subwoordgroepen. Opties generateWordParts (type: bool): zorgt ervoor dat delen van woorden worden gegenereerd, bijvoorbeeld AzureSearch .Azure Search De standaardwaarde is waar.generateNumberParts (type: bool) - Zorgt ervoor dat subwoorden voor getallen worden gegenereerd. De standaardwaarde is waar. catenateWords (type: bool) - Zorgt ervoor dat maximale uitvoeringen van woordonderdelen worden gekaatst, bijvoorbeeld Azure-Search .AzureSearch De standaardwaarde is onwaar.catenateNumbers (type: bool) - Zorgt ervoor dat de maximale uitvoeringen van aantal delen worden gekaatst, bijvoorbeeld 1-2 .12 De standaardwaarde is onwaar.catenateAll (type: bool) - Zorgt ervoor dat alle subwoorddelen worden gekatoteerd, bijvoorbeeld Azure-Search-1 .AzureSearch1 De standaardwaarde is onwaar.splitOnCaseChange (type: bool) - Indien waar, splitst u woorden op caseChange, bijvoorbeeld AzureSearch .Azure Search De standaardwaarde is waar.preserveOriginal: zorgt ervoor dat oorspronkelijke woorden behouden blijven en worden toegevoegd aan de lijst met subwoorden. De standaardwaarde is onwaar. splitOnNumerics (type: bool) - Als waar, splitst u op getallen, bijvoorbeeld Azure1Search Azure 1 Search . De standaardwaarde is waar.stemEnglishPossessive (type: bool) - Zorgt ervoor dat volgtekening 's voor elk subwoord wordt verwijderd. De standaardwaarde is waar.protectedWords (type: tekenreeksmatrix) - Tokens om te beveiligen tegen scheidingstekens. De standaardwaarde is een lege lijst. |
1 Tokenfiltertypen worden altijd voorafgegaan door code met #Microsoft.Azure.Search
een zodanige waarde dat ArabicNormalizationTokenFilter
daadwerkelijk zou worden 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.