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.

  • Telefoon tisch zoeken. 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 een charFilters 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 een tokenFilter 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"
  }

Respons

  {
    "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.
Eenvoudige (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
Klassieke 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, , digitwhitespace, , 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.
Kleine letters (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, , catalanbulgarian, chineseSimplified, chineseTraditional, ukrainianurduthaicroatianczechdanishdutchenglishfrenchgermangreekgujaratihindiicelandicindonesianitalianjapanesekannadakoreanmalaymalayalammarathinorwegianBokmaalpolishportugueseportugueseBrazilianpunjabiromanianrussianserbianCyrillicserbianLatinslovenianspanishswedishtamilteluguvietnamese
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:
arabicmalayalam, banglabulgariancatalancroatianczechdanishdutchenglishestonianfinnishfrenchgermangreekgujaratihebrewhindihungarianicelandicindonesianitaliankannadalatvianlithuanianmalaymarathinorwegianBokmaalpolishportugueseportugueseBrazilianpunjabiromanianrussianserbianCyrillicserbianLatinslovakslovenianspanishswedishtamilteluguturkishukrainianurdu
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.
Klassieke (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
elision 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.
Kleine letters (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.
Fonetische Telefoon ticTokenFilter Tokens maken voor fonetische overeenkomsten.

Opties

encoder (type: tekenreeks) - Telefoon tic encoder te gebruiken. Toegestane waarden zijn: , , , , refinedSoundex, caverphone1, caverphone2, cologne, nysiis, koelnerPhonetik. haasePhonetikbeiderMorsesoundexdoubleMetaphonemetaphone 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, aeen ooaohet oe verlaten van alleen de eerste.
Grind 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 _.
Snowball SnowballTokenFilter Sneeuwbaltokenfilter.

Opties

taal (type: tekenreeks) - Toegestane waarden zijn: , , , , , frenchspanishgermanfinnishenglishdutchrussiankplovinsnorwegianitalianportugueseswedishportergerman2hungarianromaniandanishcatalanbasquearmenianturkish
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: , , , , , catalanbulgarian, czech, danish, dutch, finnishenglishportuguesepersianlatvianirishitalianhindihungarianswedishfrenchsoranigermannorwegianromanianindonesianspanishthaigreekrussiangalician, , , standaard: englishturkishbrazilianbasquearmenianarabic 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.
Unieke 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 .AzureSearch 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 .AzureSearch 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 Azure1SearchAzure1Search. 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.

Zie ook