Azure AI Search dizinindeki dize alanlarına özel çözümleyiciler ekleme

Özel çözümleyici, bir belirteç oluşturucu, bir veya daha fazla belirteç filtresi ve bir veya daha fazla karakter filtresinin kullanıcı tanımlı bir bileşimidir. Arama dizininde özel bir çözümleyici belirtilir ve ardından özel analiz gerektiren alan tanımlarında ada göre başvurulur. Alan başına bir özel çözümleyici çağrılır. Alandaki öznitelikler dizin oluşturma, sorgular veya her ikisi için kullanılıp kullanılmadığını belirler.

Özel çözümleyicide karakter filtreleri, belirteç oluşturucu tarafından işlenmeden önce giriş metnini hazırlar (örneğin, işaretlemeyi kaldırma). Ardından belirteç oluşturucu metni belirteçlere böler. Son olarak, belirteç filtreleri belirteç oluşturucu tarafından yayılan belirteçleri değiştirir. Kavramlar ve örnekler için bkz . Azure AI Search'te Çözümleyiciler.

Özel çözümleyici neden kullanılır?

Özel çözümleyici, çağrılacak çözümleme veya filtreleme türlerini ve bunların oluş sırasını seçmenize olanak tanıyarak metni dizine alınabilen ve aranabilir belirteçlere dönüştürme işlemi üzerinde denetim sahibi olmanıza olanak sağlar.

Varsayılan (Standart Lucence), yerleşik veya dil çözümleyicilerinden hiçbiri gereksinimleriniz için yeterli değilse özel bir çözümleyici oluşturun ve atayın. Ayrıca, özel seçeneklerle yerleşik çözümleyici kullanmak istiyorsanız özel çözümleyici de oluşturabilirsiniz. Örneğin, maxTokenLength değerini Standard'da değiştirmek isterseniz, bu seçeneği ayarlamak için kullanıcı tanımlı bir ada sahip özel bir çözümleyici oluşturursunuz.

Özel çözümleyicilerin yararlı olabileceği senaryolar şunlardır:

  • Metin girişleri belirteç haline getirilmeden önce HTML işaretlemesini kaldırmak için karakter filtrelerini kullanma veya belirli karakterleri ya da simgeleri değiştirme.

  • Telefon tik arama. Sözcüğün nasıl yazıldığını değil, nasıl göründüğüne göre aramayı etkinleştirmek için fonetik filtre ekleyin.

  • Sözcük temelli analizi devre dışı bırakın. Çözümlenmemiş aranabilir alanlar oluşturmak için Anahtar Sözcük çözümleyicisini kullanın.

  • Hızlı ön ek/sonek araması. Hızlı ön ek eşleştirmeyi etkinleştirmek için sözcüklerin ön eklerini dizine eklemek için Edge N-gram belirteç filtresini ekleyin. Sonek eşleştirmesi yapmak için bunu Ters belirteç filtresiyle birleştirin.

  • Özel belirteç oluşturma. Örneğin, sınırlayıcı olarak boşluk kullanarak tümceleri belirteçlere bölmek için Boşluk belirteci kullanın

  • ASCII katlama. Arama terimlerinde ö veya ê gibi aksanları normalleştirmek için Standart ASCII katlama filtresini ekleyin.

Dekont

Özel çözümleyiciler Azure portalında kullanıma sunulmaz. Özel çözümleyici eklemenin tek yolu, dizini tanımlayan koddur.

Özel çözümleyici oluşturma

Özel çözümleyici oluşturmak için, bunu tasarım zamanında dizinin bölümünde belirtin analyzers ve ardından özelliği veya indexAnalyzer ve searchAnalyzer çiftini analyzer kullanarak aranabilir Edm.String alanlarda buna başvurun.

Çözümleyici tanımı bir ad, tür, bir veya daha fazla karakter filtresi, en fazla bir belirteç oluşturucu ve belirteç sonrası işleme için bir veya daha fazla belirteç filtresi içerir. Karakter filtreleri belirteç oluşturmadan önce uygulanır. Belirteç filtreleri ve karakter filtreleri soldan sağa uygulanır.

  • Özel çözümleyicideki adlar benzersiz olmalıdır ve yerleşik çözümleyiciler, belirteç oluşturucular, belirteç filtreleri veya karakter filtreleriyle aynı olamaz. Yalnızca harf, basamak, boşluk, tire veya alt çizgi içermelidir, yalnızca alfasayısal karakterlerle başlayıp bitebilir ve 128 karakterle sınırlıdır.

  • Tür #Microsoft.Azure.Search.CustomAnalyzer olmalıdır.

  • charFilters, belirteç oluşturmadan önce belirtilen sırayla işlenen Karakter Filtrelerinden bir veya daha fazla filtre olabilir. Bazı karakter filtreleri, bir charFilters bölümde ayarlanabilen seçeneklere sahiptir. Karakter filtreleri isteğe bağlıdır.

  • tokenizer tam olarak bir Belirteç Oluşturucudur. Bir değer gereklidir. Birden fazla belirteç oluşturucuya ihtiyacınız varsa, birden çok özel çözümleyici oluşturabilir ve bunları dizin şemanızda alan temelinde atayabilirsiniz.

  • tokenFiltersbelirteçleme sonrasında sağlanan sırayla işlenen Belirteç Filtrelerinden bir veya daha fazla filtre olabilir. Seçenekleri olan belirteç filtreleri için, yapılandırmayı belirtmek için bir tokenFilter bölüm ekleyin. Belirteç filtreleri isteğe bağlıdır.

Çözümleyiciler 300 karakterden uzun belirteçler üretmemelidir, aksi takdirde dizin oluşturma başarısız olur. Uzun belirteci kırpmak veya dışlamak için sırasıyla TruncateTokenFilter ve LengthTokenFilter kullanın. Başvuru için bkz . Belirteç filtreleri .

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

Dizin tanımında, bu bölümü dizin oluşturma isteğinin gövdesinde herhangi bir yere yerleştirebilirsiniz, ancak genellikle sonuna gider:

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

Çözümleyici tanımı, büyük dizinin bir parçasıdır. Karakter filtreleri, belirteç oluşturucular ve belirteç filtreleri tanımları dizine yalnızca özel seçenekler ayarladığınızda eklenir. Mevcut bir filtreyi veya belirteç oluşturucuyu olduğu gibi kullanmak için çözümleyici tanımında adıyla belirtin. Daha fazla bilgi için bkz . Dizin Oluşturma (REST). Daha fazla örnek için bkz . Azure AI Search'te çözümleyici ekleme.

Özel çözümleyicileri test etme

Bir çözümleyicinin verilen metni belirteçlere nasıl böldiğini görmek için Test Çözümleyicisi'ni (REST) kullanabilirsiniz.

İste

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

Yanıtla

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

Özel çözümleyicileri güncelleştirme

Çözümleyici, belirteç oluşturucu, belirteç filtresi veya karakter filtresi tanımlandıktan sonra değiştirilemez. Var olan bir dizine yalnızca dizin güncelleştirme isteğinde allowIndexDowntime bayrağı true olarak ayarlandığında yeni dizin eklenebilir:

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

Bu işlem dizininizi en az birkaç saniye çevrimdışı duruma geçirir ve dizin oluşturma ve sorgu isteklerinizin başarısız olmasına neden olur. Dizinin performansı ve yazma kullanılabilirliği, dizin güncelleştirildikten sonra birkaç dakika veya çok büyük dizinler için daha uzun süre bozulabilir, ancak bu etkiler geçicidir ve sonunda kendi kendine çözülür.

Yerleşik çözümleyiciler

Özel seçeneklerle yerleşik çözümleyici kullanmak istiyorsanız, özel çözümleyici oluşturmak, bu seçenekleri belirttiğiniz mekanizmadır. Buna karşılık, yerleşik bir çözümleyiciyi olduğu gibi kullanmak için , alan tanımında buna ada göre başvurmanız yeterlidir.

analyzer_name analyzer_type 1 Açıklama ve Seçenekler
Anahtar kelime (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Bir alanın içeriğinin tamamını tek bir belirteç olarak ele alır. Bu, posta kodları, kimlikler ve bazı ürün adları gibi veriler için kullanışlıdır.
Desen PatternAnalyzer Normal ifade deseni aracılığıyla metni esnek bir şekilde terimlere ayırır.

Seçenekler

küçük harf (tür: bool) - Terimlerin küçük harfle yazılıp yazılmayacağını belirler. Varsayılan değer true'dur.

pattern (tür: dize) - Belirteç ayırıcılarını eşleştirmek için normal bir ifade deseni. Varsayılan değer, sözcük olmayan karakterlerle eşleşen şeklindedir \W+.

flags (tür: dize) - Normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES

stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan değer boş bir listedir.
Basit (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Metni harf olmayanlara böler ve küçük harfe dönüştürür.
Standart
(Standard.lucene olarak da adlandırılır)
StandardAnalyzer Standart belirteç oluşturucu, küçük harfli filtre ve durdurma filtresinden oluşan Standart Lucene çözümleyicisi.

Seçenekler

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan değer 255'tir. Uzunluk üst sınırından uzun olan belirteçler bölünür. Kullanılabilecek en fazla belirteç uzunluğu 300 karakterdir.

stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan değer boş bir listedir.
standardasciifolding.lucene (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Ascii katlama filtresi ile standart çözümleyici.
Durdurmak StopAnalyzer Metni harf olmayanlara böler, küçük harf ve stopword belirteci filtrelerini uygular.

Seçenekler

stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan, İngilizce için önceden tanımlanmış bir listedir.
Boşluk (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Boşluk belirteci kullanan bir çözümleyici. 255 karakterden uzun belirteçler bölünür.

1 Çözümleyici Türleri, koda #Microsoft.Azure.SearchPatternAnalyzer her zaman olarak belirtilecek #Microsoft.Azure.Search.PatternAnalyzerşekilde ön eklenir. Kısalık ön ekini kaldırdık, ancak ön ek kodunuzda gereklidir.

analyzer_type yalnızca özelleştirilebilen çözümleyiciler için sağlanır. Anahtar sözcük çözümleyicisinde olduğu gibi seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.

Karakter filtreleri

Karakter filtreleri, bir dize belirteç oluşturucuya ulaşmadan önce işleme ekler.

Azure AI Search, aşağıdaki listede karakter filtrelerini destekler. Her biri hakkında daha fazla bilgi Lucene API başvurusunda bulunabilir.

char_filter_name char_filter_type 1 Açıklama ve Seçenekler
html_strip (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) HTML yapılarını ayırmaya çalışan bir karakter filtresi.
Eşleme MappingCharFilter Eşlemeler seçeneğiyle tanımlanan eşlemeleri uygulayan bir karakter filtresi. Eşleştirme doyumsuzdur (belirli bir noktada en uzun desen eşleştirmesi kazanır). Değiştirmenin boş dize olması için izin verilir.

Seçenekler

mappings (type: string array) - Aşağıdaki biçimdeki eşlemelerin listesi: a=>b (karakterin a tüm oluşumları karakterle bdeğiştirilir). Gerekli.
pattern_replace PatternReplaceCharFilter Giriş dizesindeki karakterlerin yerini alan karakter filtresi. Korunacak karakter dizilerini tanımlamak için normal bir ifade ve değiştirilecek karakterleri tanımlamak için bir değiştirme düzeni kullanır. Örneğin, giriş metni = aa bb aa bb, desen=(aa)\\\s+(bb) değiştirme=$1#$2, sonuç = aa#bb aa#bb.

Seçenekler

pattern (tür: dize) - Gerekli.

replacement (tür: dize) - Gerekli.

1 Karakter Filtresi Türleri, koda #Microsoft.Azure.SearchMappingCharFilter her zaman olarak belirtilecek #Microsoft.Azure.Search.MappingCharFilterşekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın. char_filter_type yalnızca özelleştirilebilen filtreler için sağlandığına dikkat edin. html_strip'da olduğu gibi seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.

Belirteç Oluşturucular

Belirteç oluşturucu, sürekli metni bir tümceyi sözcüklere veya bir sözcüğü kök formlara bölme gibi bir belirteç dizisine böler.

Azure AI Search aşağıdaki listede belirteç oluşturucuları destekler. Her biri hakkında daha fazla bilgi Lucene API başvurusunda bulunabilir.

tokenizer_name tokenizer_type 1 Açıklama ve Seçenekler
Klasik ClassicTokenizer Çoğu Avrupa dili belgesini işlemek için uygun dil bilgisi tabanlı belirteç oluşturucu.

Seçenekler

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür.
edgeNGram EdgeNGramTokenizer Bir kenardan gelen girişi verilen boyutların n gramını belirteci haline getirmektedir.

Seçenekler

minGram (tür: int) - Varsayılan: 1, maksimum: 300.

maxGram (tür: int) - Varsayılan: 2, maksimum: 300. MinGram'dan büyük olmalıdır.

tokenChars (tür: dize dizisi) - Belirteçlerde tutulacak karakter sınıfları. İzin verilen değerler:
letter, digit, whitespace, punctuation, symbol. Varsayılan olarak boş bir dizidir- tüm karakterleri korur.
keyword_v2 KeywordTokenizerV2 Girişin tamamını tek bir belirteç olarak yayar.

Seçenekler

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 256, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür.
Mektup (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Metni harf olmayanlara böler. 255 karakterden uzun belirteçler bölünür.
Küçük (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Metni harf olmayanlara böler ve küçük harfe dönüştürür. 255 karakterden uzun belirteçler bölünür.
microsoft_language_tokenizer MicrosoftLanguageTokenizer Dile özgü kuralları kullanarak metni böler.

Seçenekler

maxTokenLength (tür: int) - Maksimum belirteç uzunluğu, varsayılan: 255, maksimum: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. 300 karakterden uzun belirteçler önce 300 uzunluğundaki belirteçlere bölünür ve ardından bu belirteçlerin her biri maxTokenLength kümesine göre bölünür.

isSearchTokenizer (tür: bool) - Arama belirteci olarak kullanılıyorsa true olarak, dizin belirteç oluşturucu olarak kullanılıyorsa false olarak ayarlayın.

language (tür: dize) - Kullanılacak dil, varsayılan english. İzin verilen değerler şunlardır:
bangla, bulgarian, catalan, chineseSimplified, chineseTraditional, croatian, czech, danish, dutch, english, french, german, greek, gujarati, hindi, icelandic, indonesian, italian, japanese, kannada, korean, malay, malayalam, marathi, norwegianBokmaal, polish, portuguese, portugueseBrazilian, punjabi, romanian, russian, serbianCyrillic, serbianLatin, slovenian, spanish, swedish, tamil, telugu, thai, ukrainian, urdu, vietnamese
microsoft_language_stemming_tokenizer MicrosoftLanguageStemmingTokenizer Dile özgü kuralları kullanarak metni böler ve sözcükleri temel formlarına küçültür. Bu belirteç oluşturucu, lemmatizasyon gerçekleştirir.

Seçenekler

maxTokenLength (tür: int) - Maksimum belirteç uzunluğu, varsayılan: 255, maksimum: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. 300 karakterden uzun belirteçler önce 300 uzunluğundaki belirteçlere bölünür ve ardından bu belirteçlerin her biri maxTokenLength kümesine göre bölünür.

isSearchTokenizer (tür: bool) - Arama belirteci olarak kullanılıyorsa true olarak, dizin belirteç oluşturucu olarak kullanılıyorsa false olarak ayarlayın.

language (tür: dize) - Kullanılacak dil, varsayılan english. İzin verilen değerler şunlardır:
arabic, bangla, bulgarian, catalan, croatian, czech, danish, dutch, english, estonian, finnish, french, german, greek, gujarati, hebrew, hindi, hungarian, icelandic, indonesian, italian, kannada, latvian, lithuanian, malay, malayalam, marathi, norwegianBokmaal, polish, portuguese, portugueseBrazilian, punjabi, romanian, russian, serbianCyrillic, serbianLatin, slovak, slovenian, spanish, swedish, tamil, telugu, turkish, ukrainian, urdu
nGram NGramTokenizer Girişi verilen boyutların n gramını belirteci haline getirmektedir.

Seçenekler

minGram (tür: int) - Varsayılan: 1, maksimum: 300.

maxGram (tür: int) - Varsayılan: 2, maksimum: 300. MinGram'dan büyük olmalıdır.

tokenChars (tür: dize dizisi) - Belirteçlerde tutulacak karakter sınıfları. İzin verilen değerler: letter, digit, whitespace, punctuation, symbol. Varsayılan olarak boş bir dizidir- tüm karakterleri korur.
path_hierarchy_v2 PathHierarchyTokenizerV2 Yol benzeri hiyerarşiler için belirteç oluşturucu. Seçenekler

sınırlayıcı (tür: dize) - Varsayılan: '/.

replace (tür: dize) - Ayarlanırsa sınırlayıcı karakterini değiştirir. Varsayılan olarak sınırlayıcının değeriyle aynıdır.

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 300, en fazla: 300. maxTokenLength değerinden uzun yollar yoksayılır.

reverse (tür: bool) - True ise, ters sırada belirteç oluşturur. Varsayılan: false.

skip (tür: bool) - Atlanması gereken ilk belirteçler. Varsayılan değer 0’dır.
Desen PatternTokenizer Bu belirteç oluşturucu, farklı belirteçler oluşturmak için regex desen eşleştirmesini kullanır.

Seçenekler

pattern (tür: dize) - Belirteç ayırıcılarını eşleştirmek için normal ifade deseni. Varsayılan değer, sözcük olmayan karakterlerle eşleşen şeklindedir \W+.

flags (tür: dize) - Normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES

group (tür: int) - Belirteçlere ayıklanması gereken grup. Varsayılan değer -1 'dir (bölünmüş).
standard_v2 StandardTokenizerV2 Unicode Metin Kesimleme kurallarından sonra metni keser.

Seçenekler

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür.
uax_url_email UaxUrlEmailTokenizer Url'leri ve e-postaları tek bir belirteç olarak belirteçler.

Seçenekler

maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür.
Boşluk (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Metni boşlukta böler. 255 karakterden uzun belirteçler bölünür.

1 Belirteci Türleri, kodda #Microsoft.Azure.SearchClassicTokenizer her zaman olarak #Microsoft.Azure.Search.ClassicTokenizerbelirtilecek şekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın. tokenizer_type yalnızca özelleştirilebilen belirteç oluşturucular için sağlandığına dikkat edin. Harf belirteci gibi hiçbir seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.

Belirteç filtreleri

Belirteç filtresi, belirteç oluşturucu tarafından oluşturulan belirteçleri filtrelemek veya değiştirmek için kullanılır. Örneğin, tüm karakterleri küçük harfe dönüştüren küçük harfli bir filtre belirtebilirsiniz. Özel çözümleyicide birden çok belirteç filtreniz olabilir. Belirteç filtreleri listelendikleri sırayla çalışır.

Aşağıdaki tabloda Apache Lucene kullanılarak uygulanan belirteç filtreleri Lucene API belgelerine bağlıdır.

token_filter_name token_filter_type 1 Açıklama ve Seçenekler
arabic_normalization (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Ortografiyi normalleştirmek için Arapça normalleştiriciyi uygulayan bir belirteç filtresi.
Kesme işareti (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Kesme işaretinden sonraki tüm karakterleri (kesme işareti de dahil) siler.
asciifolding AsciiFoldingTokenFilter İlk 127 ASCII karakterde ( Basic Latin Unicode bloğu) yer almayan alfabetik, sayısal ve simgesel Unicode karakterlerini varsa, ASCII eşdeğerlerine dönüştürür.

Seçenekler

preserveOriginal (tür: bool) - True ise, özgün belirteç korunur. Varsayılan değer false.
cjk_bigram CjkBigramTokenFilter StandardTokenizer'dan oluşturulan CJK terimlerinin büyük değerlerini oluşturur.

Seçenekler

ignoreScripts (tür: dize dizisi) - Yoksaymak için betikler. İzin verilen değerler şunlardır: han, hiragana, katakana, hangul. Varsayılan değer boş bir listedir.

outputUnigrams (tür: bool) - Her zaman hem tek birimlerin hem de büyük harflerin çıkışını almak istiyorsanız true olarak ayarlayın. Varsayılan değer false.
cjk_width (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) CJK genişlik farklarını normalleştirir. Tam genişlikli ASCII çeşitlerini eşdeğer temel latin ve yarı genişlikli Katakana varyantlarına eşdeğer kanaya katlar.
Klasik (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) İngiliz sahipliklerini ve noktaları kısaltmalardan kaldırır.
common_grams CommonGramTokenFilter Dizin oluştururken sık karşılaşılan terimler için bigrams oluşturun. Tek terimler de dizine eklenir ve bigram'lar yer paylaşımlı olur.

Seçenekler

commonWords (tür: dize dizisi) - Ortak sözcükler kümesi. Varsayılan değer boş bir listedir. Gerekli.

ignoreCase (tür: bool) - True ise, eşleştirme büyük/küçük harfe duyarlı değildir. Varsayılan değer false.

queryMode (tür: bool) - Büyük harfler oluşturur ve ardından ortak sözcükleri ve tek terimleri ve ardından ortak bir sözcüğü kaldırır. Varsayılan değer false.
dictionary_decompounder DictionaryDecompounderTokenFilter Birçok Almanca dilinde bulunan bileşik sözcükleri ayrıştırıyor.

Seçenekler

wordList (tür: dize dizisi) - Eşleşecek sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli.

minWordSize (tür: int) - Yalnızca bundan daha uzun sözcükler işlenir. Varsayılan 5'dir.

minSubwordSize (tür: int) - Yalnızca bundan daha uzun alt sözler çıkarılır. Varsayılan 2'dir.

maxSubwordSize (tür: int) - Yalnızca bundan kısa alt sözler çıkarılır. Varsayılan değer 15’tir.

onlyLongestMatch (tür: bool) - Çıktıya yalnızca en uzun eşleşen alt sözcüğü ekleyin. Varsayılan değer false.
edgeNGram_v2 EdgeNGramTokenFilterV2 Giriş belirtecinin önünden veya arkasından başlayarak verilen boyutların n gramını oluşturur.

Seçenekler

minGram (tür: int) - Varsayılan: 1, maksimum: 300.

maxGram (tür: int) - Varsayılan: 2, en fazla 300. MinGram'dan büyük olmalıdır.

side (tür: dize) - N-gram girişin hangi tarafından oluşturulması gerektiğini belirtir. İzin verilen değerler: front, back
elision ElisionTokenFilter İlanları kaldırır. Örneğin, l'avion (düzlem) (düzlem) olarak avion dönüştürülür.

Seçenekler

articles (tür: dize dizisi) - Kaldırılacak bir makale kümesi. Varsayılan değer boş bir listedir. Ayarlanmış makale listesi yoksa, varsayılan olarak tüm Fransızca makaleler kaldırılır.
german_normalization (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Almanca karakterleri, German2 kartopu algoritmasının buluşsal yöntemlerine göre normalleştirir.
hindi_normalization (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Yazım varyasyonlarındaki bazı farklılıkları kaldırmak için Hintçe metinleri normalleştirir.
indic_normalization IndicNormalizationTokenFilter Hint dillerindeki metnin Unicode gösterimini normalleştirir.
Tutmak KeepTokenFilter Belirteçleri yalnızca belirtilen sözcük listesinde yer alan metinle tutan bir belirteç filtresi.

Seçenekler

keepWords (tür: dize dizisi) - Tutulacak sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli.

keepWordsCase (tür: bool) - True ise, önce tüm sözcükleri küçük harfle yazın. Varsayılan değer false.
keyword_marker KeywordMarkerTokenFilter Terimleri anahtar sözcük olarak işaretler.

Seçenekler

anahtar sözcükler (tür: dize dizisi) - Anahtar sözcük olarak işaretlenecek sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli.

ignoreCase (tür: bool) - True ise, önce tüm sözcükleri küçük harfle yazın. Varsayılan değer false.
keyword_repeat (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Gelen her belirteci bir kez anahtar sözcük olarak, bir kez de anahtar sözcük olmayan olarak yayar.
kstem (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) İngilizce için yüksek performanslı kstem bir filtre.
length LengthTokenFilter Çok uzun veya çok kısa sözcükleri kaldırır.

Seçenekler

min (tür: int) - Minimum sayı. Varsayılan: 0, en fazla: 300.

max (tür: int) - Maksimum sayı. Varsayılan: 300, en fazla: 300.
sınır Microsoft.Azure.Search.LimitTokenFilter Dizin oluşturma sırasında belirteç sayısını sınırlar.

Seçenekler

maxTokenCount (tür: int) - Üretilmesi gereken en fazla belirteç sayısı. Varsayılan değer 1'dir.

consumeAllTokens (tür: bool) - maxTokenCount'a ulaşılsa bile girişten gelen tüm belirteçlerin kullanılması gerekip gerekmediği. Varsayılan değer false.
Küçük (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Belirteç metnini küçük harfe göre normalleştirir.
nGram_v2 NGramTokenFilterV2 Verilen boyutların n gramını oluşturur.

Seçenekler

minGram (tür: int) - Varsayılan: 1, maksimum: 300.

maxGram (tür: int) - Varsayılan: 2, en fazla 300. MinGram'dan büyük olmalıdır.
pattern_capture PatternCaptureTokenFilter Java regexes kullanarak bir veya daha fazla desendeki her yakalama grubu için bir tane olmak üzere birden çok belirteç yayar.

Seçenekler

patterns (tür: dize dizisi) - Her belirteçle eşleşecek desenlerin listesi. Gerekli.

preserveOriginal (tür: bool) - Desenlerden biri eşleşse bile özgün belirteci döndürmek için true olarak ayarlayın, varsayılan: true
pattern_replace PatternReplaceTokenFilter Eşleşme oluşumlarını belirtilen değiştirme dizesiyle değiştirerek akıştaki her belirteç için bir desen uygulayan bir belirteç filtresi.

Seçenekler

pattern (tür: dize) - Gerekli.

replacement (tür: dize) - Gerekli.
persian_normalization (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Farsça için normalleştirme uygular.
Fonetik Telefon ticTokenFilter Fonetik eşleşmeler için belirteçler oluşturun.

Seçenekler

kodlayıcı (tür: dize) - kullanılacak Telefon tik kodlayıcı. İzin verilen değerler şunlardır: , , , , , caverphone1, , caverphone2, haasePhonetik. beiderMorsecolognekoelnerPhonetiknysiisrefinedSoundexsoundexdoubleMetaphonemetaphone Varsayılan: metaphone. Varsayılan, meta telefondur.

Daha fazla bilgi için bkz . kodlayıcı .

replace (tür: bool) - Kodlanmış belirteçlerin özgün belirteçlerin yerini alması gerekiyorsa true, eş anlamlı olarak eklenmesi gerekiyorsa false. Varsayılan değer true'dur.
porter_stem (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Porter kök oluşturma algoritmasına göre belirteç akışını dönüştürür.
ters çevir (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Belirteç dizesini tersine çevirir.
scandinavian_normalization (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Değiştirilebilir İskandinav karakterlerinin kullanımını normalleştirir.
scandinavian_folding (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) İskandinav karakterlerini åÅäæÄÆiçine a ve öÖøØiçine katlar o. Ayrıca , , oeaeaove çift sesli aaharf kullanımına karşı ayrımcılığa neden olur ve ooyalnızca ilkini bırakır.
Shingle ShingleTokenFilter Belirteç birleşimlerini tek bir belirteç olarak oluşturur.

Seçenekler

maxShingleSize (tür: int) - Varsayılan değer: 2.

minShingleSize (tür: int) - Varsayılan değer: 2.

outputUnigrams (tür: bool) - true ise, çıkış akışı hem giriş belirteçlerini (tek birimleri) hem de shingle'leri içerir. Varsayılan değer true'dur.

outputUnigramsIfNoShingles (tür: bool) - True ise, kullanılabilir bir zona olmadığında outputUnigrams==false davranışını geçersiz kılın. Varsayılan değer false.

tokenSeparator (tür: dize) - Shingle oluşturmak için bitişik belirteçleri birleştirirken kullanılacak dize. Varsayılan değer, tek bir boş alantır .

filterToken (tür: dize) - Belirteci olmayan her konum için eklenecek dize. Varsayılan değer: _.
Kartopu SnowballTokenFilter Kartopu Belirteç Filtresi.

Seçenekler

language (tür: dize) - İzin verilen değerler şunlardır: armenian, basque, catalan, danish, dutch, english, frenchgerman2finnishgerman, , hungarian, italian, , kp, , lovins, norwegian, , romanianportugueserussianspanishswedishporterturkish
sorani_normalization SoraniNormalizationTokenFilter Metnin Unicode gösterimini Sorani normalleştirir.

Seçenekler

Yok.
Stemmer StemmerTokenFilter Dile özgü gövde filtresi.

Seçenekler

language (tür: dize) - İzin verilen değerler şunlardır:
- arabic
- armenian
- basque
- brazilian
- bulgarian
- catalan
- czech
- danish
- dutch
- dutchKp
- english
- lightEnglish
- minimalEnglish
- possessiveEnglish
- porter2
- lovins
- finnish
- lightFinnish
- french
- lightFrench
- minimalFrench
- galician
- minimalGalician
- german
- german2
- lightGerman
- minimalGerman
- greek
- hindi
- hungarian
- lightHungarian
- indonesian
- irish
- italian
- lightItalian
- sorani
- latvian
- norwegian
- lightNorwegian
- minimalNorwegian
- lightNynorsk
- minimalNynorsk
- portuguese
- lightPortuguese
- minimalPortuguese
- portugueseRslp
- romanian
- russian
- lightRussian
- spanish
- lightSpanish
- swedish
- lightSwedish
- turkish
stemmer_override StemmerOverrideTokenFilter Sözlük kaynaklı terimler anahtar sözcük olarak işaretlenir ve bu da zincirin köklenmesini önler. Herhangi bir köklendirme filtresinin önüne yerleştirilmelidir.

Seçenekler

rules (tür: dize dizisi) - Aşağıdaki biçimdeki word => stem kuralların köklerini oluşturma örneğin ran => run. Varsayılan değer boş bir listedir. Gerekli.
Stopwords StopwordsTokenFilter Belirteç akışından durdurma sözcüklerini kaldırır. Varsayılan olarak, filtre İngilizce için önceden tanımlanmış bir durdurma sözcüğü listesi kullanır.

Seçenekler

stopwords (tür: dize dizisi) - Stopwords listesi. StopwordsList belirtildiyse belirtilemiyor.

stopwordsList (tür: dize) - Önceden tanımlanmış bir stopword listesi. Belirtildiyse stopwords belirtilemiyor. İzin verilen değerler şunlardır:, , , , brazilian, bulgarian, , dutchhungariangreekhindicatalangermanczechfinnishfrenchenglishdanishindonesianirishgalician, italian, latvian, thaispanishsoraniswedishportugueserussianromanianturkishnorwegianpersianvarsayılan: . englishbasquearmenianarabic Belirtildiyse stopwords belirtilemiyor.

ignoreCase (tür: bool) - True ise, önce tüm sözcükler küçük harfle yazılır. Varsayılan değer false.

removeTrailing (tür: bool) - True ise, bir durdurma sözcüğüyse son arama terimini yoksayın. Varsayılan değer true'dur.
Eşanlamlı SynonymTokenFilter Belirteç akışındaki tek veya çok sözcüklü eş anlamlılarla eşleşir.

Seçenekler

eş anlamlılar (tür: dize dizisi) - Gerekli. Aşağıdaki iki biçimden birinde eş anlamlıların listesi:

-inanılmaz, inanılmaz, muhteşem => şaşırtıcı - => simgesinin sol tarafındaki tüm terimler sağ tarafındaki tüm terimlerle değiştirilir.

-inanılmaz, inanılmaz, muhteşem, şaşırtıcı - Eşdeğer sözcüklerin virgülle ayrılmış bir listesi. Bu listenin yorumlandığı şekli değiştirmek için genişletme seçeneğini ayarlayın.

ignoreCase (tür: bool) - Eşleştirme için büyük/küçük harf katlama girişi. Varsayılan değer false.

expand (tür: bool) - True ise, eş anlamlılar listesindeki tüm sözcükler (=> gösterimi kullanılmazsa) birbiriyle eşler.
Aşağıdaki liste: inanılmaz, inanılmaz, muhteşem, şaşırtıcı eşdeğerdir: inanılmaz, inanılmaz, muhteşem, şaşırtıcı => inanılmaz, inanılmaz, inanılmaz, muhteşem, şaşırtıcı

- False ise, aşağıdaki liste: inanılmaz, inanılmaz, muhteşem, şaşırtıcı eşdeğerdir: inanılmaz, inanılmaz, muhteşem, şaşırtıcı => inanılmaz.
Döşeme (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Belirteçlerden öndeki ve sondaki boşlukları kırpılır.
truncate TruncateTokenFilter Terimleri belirli bir uzunlukta kısaltın.

Seçenekler

length (tür: int) - Varsayılan: 300, maksimum: 300. Gerekli.
unique UniqueTokenFilter Önceki belirteçle aynı metindeki belirteçleri filtreler.

Seçenekler

onlyOnSamePosition (tür: bool) - Ayarlanırsa, yinelenenleri yalnızca aynı konumda kaldırın. Varsayılan değer true'dur.
Büyük (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Belirteç metnini büyük harfe göre normalleştirir.
word_delimiter WordDelimiterTokenFilter Sözcükleri alt sözcüklere böler ve alt sözcük gruplarında isteğe bağlı dönüştürmeler gerçekleştirir.

Seçenekler

generateWordParts (tür: bool) - Sözcük parçalarının oluşturulmasına neden olur, örneğin AzureSearch olur AzureSearch. Varsayılan değer true'dur.

generateNumberParts (tür: bool) - Sayı alt kelimelerinin oluşturulmasına neden olur. Varsayılan değer true'dur.

catenateWords (tür: bool) - Sözcük bölümlerinin en fazla çalıştırılmasının katılabilmesine neden olur, örneğin Azure-Search olur AzureSearch. Varsayılan değer false.

catenateNumbers (tür: bool) - Sayı parçalarının en fazla çalıştırılmasına neden olur, örneğin 1-2 olur 12. Varsayılan değer false.

catenateAll (tür: bool) - Tüm alt parçaların kataliz edilmesine neden olur, örneğin Azure-Search-1 olur AzureSearch1. Varsayılan değer false.

splitOnCaseChange (tür: bool) - True ise caseChange üzerindeki sözcükleri böler, örneğin AzureSearch olur AzureSearch. Varsayılan değer true'dur.

preserveOriginal - Özgün sözcüklerin korunmasına ve alt sözcük listesine eklenmesine neden olur. Varsayılan değer false.

splitOnNumerics (tür: bool) - True ise, sayılara bölünür, örneğin Azure1Search olur Azure1Search. Varsayılan değer true'dur.

stemEnglishPossessive (tür: bool) - Her alt sözcük için sondakinin 's kaldırılmasına neden olur. Varsayılan değer true'dur.

protectedWords (tür: dize dizisi) - Sınırlandırılmaktan korunmak için belirteçler. Varsayılan değer boş bir listedir.

1 Belirteç Filtresi Türleri, kodda #Microsoft.Azure.SearchArabicNormalizationTokenFilter her zaman olarak #Microsoft.Azure.Search.ArabicNormalizationTokenFilterbelirtilecek şekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın.

Ayrıca bkz.