Azure Yapay Zeka Arama dizinindeki dize alanlarına özel çözümleyiciler ekleme

Not

Azure Yapay Zeka Arama Azure portalı, REST API'leri ve Azure SDK’ları aracılığıyla kullanılabilir. Ayrıca kuruluş içeriğini Microsoft Foundry portalındaki aracılar için yeniden kullanılabilir, izin kullanan bilgi bankalarına dönüştüren yönetilen bilgi katmanı Foundry IQ'yu temel alır.

Özel çözümleyici, düz metin içeriği üzerinde sözcük temelli analizin bir bileşenidir. Bir belirteç oluşturucu, bir veya daha fazla belirteç filtresi ve bir veya daha fazla karakter filtresinin kullanıcı tanımlı bir birleşimidir. Arama dizininde özel bir çözümleyici belirtilir ve ardından özel analiz gerektiren alan tanımlarında adıyla kullanılır. Alan başına bir özel çözümleyici çağrılır. Alandaki öznitelikler dizin oluşturma, sorgular veya her ikisi için mi kullanıldığı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 Arama'da Çözümleyiciler ve Öğretici: Telefon numaraları için özel çözümleyici oluşturma.

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

Klasik arama iş akışlarında büyük dil modelleri ve içerik anomalilerini işleme yeteneği içermeyen özel bir çözümleyiciyi göz önünde bulundurmalısınız.

Sınıf aramasında özel çözümleyici, çağrılacak analiz veya filtreleme türlerini ve bunların hangi sırada gerçekleşeceğini seçmenize olanak tanıyarak düz 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 Lucene), 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, Standard Lucene'deki maxTokenLength'yi değiştirmek isterseniz, bu seçimi yapmak için kullanıcı tanımlı bir adla ö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.

  • Fonetik 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 aramaları. Hızlı ön ek eşleştirmeyi etkinleştirmek amacıyla kelimelerin ö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, tümceleri boşluk sınırlayıcı olarak kullanarak 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.

Not

Özel çözümleyiciler Azure portalında kullanıma sunulmaz. Özel çözümleyici eklemenin tek yolu, dizin şeması oluşturan koddur.

Özel çözümleyici oluşturma

Özel bir çözümleyici oluşturmak için, bunu tasarım zamanında dizinin analyzers bölümünde belirtin ve ardından aranabilir Edm.String alanlarda analyzer özelliğini veya indexAnalyzer ve Edm.String çiftini kullanarak 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. Adlar harflerden, basamaklardan, boşluklardan, kısa çizgilerden veya alt çizgilerden oluşur. Adların düz metin karakterleriyle başlaması ve bitmesi gerekir. Adların uzunluğu 128 karakterin altında olmalı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 Tokenizer'dır. 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ç Filtreleri'nden bir veya daha fazla filtre, belirteçleme sonrasında ve sağlanan sırayla işlenir. 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 Yapay Zeka Arama'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.

İstek

  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ıt

  {
    "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 adına başvurmanız yeterlidir.

analyzer_name analyzer_type1 Açıklama ve Seçenekler
anahtar sözcük (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 Desen Analizörü 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 dışı karakterlerle eşleşen \W+'dır.

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) - Durdurma kelimelerinin 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) - Durdurma kelimelerinin 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.
durmak Durdurma Analizörü Metni harf olmayanlara böler, küçük harf ve stopword belirteci filtrelerini uygular.

Seçenekler

stopwords (tür: dize dizisi) - Durdurma kelimelerinin 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 tokenizer'ı kullanan bir çözümleyici. 255 karakterden uzun belirteçler bölünür.

1 Çözümleyici Türleri her zaman koda #Microsoft.Azure.Search ön eki alır, böylece PatternAnalyzer olarak belirtildiğinde #Microsoft.Azure.Search.PatternAnalyzer şeklinde olur. Açıklamada kısa olması için ön eki kaldırdık, ancak kodunuzda ön ek 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çleyiciye ulaşmadan önce işleme ekler.

Azure Yapay Zeka Arama, aşağıdaki listede karakter filtrelerini destekler. Her biri hakkında daha fazla bilgi Lucene API referansında bulunabilir.

char_filter_name char_filter_type1 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.
haritalama Eşleme Karakter Filtresi Eşlemeler seçeneğiyle tanımlanan eşlemeleri uygulayan bir karakter filtresi. Eşleştirme açgözlüdür (verilen bir noktada en uzun desen eşleştirmesi kazanır). Değiştirmenin boş dize olması için izin verilir.

Seçenekler

mappings (tip: string dizisi) - Aşağıdaki biçimdeki eşlemelerin listesi: a=>b (karakter a'in tüm oluşumları karakter b ile değiştirilir). Gerekli.
desen_değiştir DesenDeğiştirCharFilter 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: Dizgi) - Gerekli.

1 Karakter Filtresi Türleri, kodda her zaman #Microsoft.Azure.SearchMappingCharFilter şeklinde öne eklenir ve #Microsoft.Azure.Search.MappingCharFilter olarak belirtilir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak 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 Yapay Zeka Arama aşağıdaki listede belirteç oluşturucuları destekler. Her biri hakkında daha fazla bilgi Lucene API referansında bulunabilir.

tokenizer_name tokenizer_type1 Açıklama ve Seçenekler
Klasik Klasik Tokenizer Ç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 boyutlarda n-gramlara ayrıştırır.

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 dizi olarak ayarlanır ve 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 harf (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: string) - 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: string) - 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 (İngilizce) Verilen girişi, belirtilen boyutlardaki n-gramlara belirtecine dönüştürür.

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 dizi olarak ayarlanır ve 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: '/.

değiştirme (tür: string) - Ayarlandığında, sınırlayıcı karakteri 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 Desen Belirteçleme Bu belirteç oluşturucu, farklı belirteçler oluşturmak için regex desen eşleştirmesini kullanır.

Seçenekler

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

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'ler ve e-postalar tek bir belirteç olacak şekilde işlenir.

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 Tokenlaştırıcı Türleri, kodda her zaman #Microsoft.Azure.Search şeklinde ClassicTokenizer olarak #Microsoft.Azure.Search.ClassicTokenizer ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak 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_type1 Açıklama ve Seçenekler
Arapça normalizasyonu (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 Standart Tokenizer'dan oluşturulan CJK terimlerinin iki kelimelik gruplarını oluşturur.

Seçenekler

ignoreScripts (tür: dize dizisi) - Yoksayılacak 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 unigramlar hem de bigramların çı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 varyantlarını eşdeğer temel Latin formlarına ve yarı genişlikli Katakana varyantlarını eşdeğer Katakana formlarına dönüştürür.
Klasik (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) İngilizce'deki iyelik eklerini ve kısaltmaların içindeki noktaları kaldırır.
common_grams CommonGramToken Filtresi (CommonGramTokenFilter) Dizin oluştururken sık karşılaşılan terimler için bigrams oluşturun. Tek terimler de dizine eklenir ve ikili kelime birimleri üzerine yerleştirilir.

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) - Bigramlar oluşturur ve ardından ortak sözcükleri ve ortak bir sözcüğü takip eden tek terimleri kaldırır. Varsayılan değer false.
sözlük_bileşik_çözücü 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) - Sadece belirtilen değerden daha uzun olan alt kelimeler çıkarılacaktı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: string) - N-gram'in girişin hangi tarafında oluşturulacağı belirtir. İzin verilen değerler: front, back
elision ElisionTokenFilter Kısaltmaları kaldırır. Örneğin, l'avion (düzlem) avion (uçak) olarak 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 snowball algoritmasının heuristiklerine 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 Hint Normalizasyon Belirteç Filtresi Hint dillerindeki metnin Unicode gösterimini normalleştirir.
tutmak KeepTokenFilter (Belirteç Filtresi) 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 Anahtar KelimeMarkerTokenFilter 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.
uzunluk LengthTokenFilter (Uzunluk Filtresi) Ç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) - Üretilebilecek 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 harf (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 boyutlardaki n-gramları 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.
desen_yakalama 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 geri döndürmek amacıyla 'true' olarak ayarlayın, varsayılan değer: true
desen_değiştir PatternReplaceTokenFilter Akışta her belirteç için bir desen uygulayarak eşleşen oluşumları belirtilen değiştirme dizesiyle değiştiren bir belirteç filtresi.

Seçenekler

pattern (tür: dize) - Gerekli.

replacement (Tür: Dizgi) - Gerekli.
farsça_normalizasyon (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Farsça için normalleştirme uygular.
Fonetik FonetikBelirteç Filtresi Fonetik eşleşmeler için belirteçler oluşturun.

Seçenekler

kodlayıcı (tür: dize) - Kullanılacak fonetik kodlayıcı. İzin verilen değerler şunlardır: metaphone, doubleMetaphone, soundex, refinedSoundex, caverphone1, caverphone2, cologne, nysiis, koelnerPhonetik, haasePhonetik, beiderMorse. Varsayılan: metaphone. Varsayılan metafon’dur.

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.
iskandinav_normalizasyonu (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) Değiştirilebilir İskandinav karakterlerinin kullanımını normalleştirir.
İskandinav tarzı katlama (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) İskandinav karakterlerini åÅäæÄÆ'dan a'e ve öÖøØ'den o'e dönüştürür. Ayrıca, aa, ae, ao, oe ve oo gibi çift sesli harflerin kullanımına karşı ayrımcılık yapar ve sadece 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, shingle mevcut olmadığında outputUnigrams==false davranışını geçersiz kılar. Varsayılan değer false.

tokenSeparator (tür: dize) - Shingle oluşturmak için ardışık 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 Kartopu Simge Filtresi Kartopu Token Filtresi.

Seçenekler

language (tür: dize) - İzin verilen değerler şunlardır: armenian, basque, catalan, danish, dutch, english, finnish, french, german, german2, hungarian, italian, kp, lovins, norwegian, porter, portuguese, romanian, russian, spanish, swedish, turkish
sorani_normalization Sorani Normalizasyon Token Filtresi Metnin Unicode gösterimini Sorani normalleştirir.

Seçenekler

Yok.
Stemmer StemmerTokenFilter Dile özgü kök bulma 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 Kök Düzenleme Belirteç Filtresi Sözlük ile köklenen terimler anahtar kelime olarak işaretlenir, bu da zincirin daha fazla köklenmesini önler. Herhangi bir köklendirme filtresinin önüne yerleştirilmelidir.

Seçenekler

rules (tür: dize dizisi) - Aşağıdaki biçimdeki kök kuralları: örneğin word => stem, ran => run. Varsayılan değer boş bir listedir. Gerekli.
stopwords StopwordsTokenFilter (Durdurma Sözcükleri Belirteç Filtresi) Belirteç akışından duraklama 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) - Durdurma kelimelerinin listesi. "StopwordsList" belirtildiyse, başka bir şeyin belirtilmesi mümkün değil.

stopwordsList (tür: dize) - Önceden tanımlanmış bir stopword listesi. "Eğer stopwords belirtildiyse, belirtilmesi yapılamaz." İzin verilen değerler şunlardır: arabic, armenian, basque, brazilian, bulgarian, catalan, czech, danish, dutch, english, finnish, french, galician, german, greek, hindi, hungarian, indonesian, irish, italian, latvian, norwegian, persian, portuguese, romanian, russian, sorani, spanish, swedish, thai, turkish, varsayılan: english. "Eğer stopwords belirtildiyse, belirtilmesi yapılamaz."

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) - Eğer doğru ise, bir durdurma kelimesi olduğunda 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) - Eğer doğruysa, eşanlamlı kelimeler listesindeki tüm sözcükler (=> gösterimi kullanılmıyorsa) birbiriyle eşleştirilir.
Aşağıdaki liste: inanılmaz, akıl almaz, muhteşem, şaşırtıcı eşdeğerdir: inanılmaz, akıl almaz, muhteşem, şaşırtıcı => inanılmaz, akıl almaz, 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üzeltmek (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 adlı kesme belirteç filtresi (TruncateTokenFiltresi) Terimleri belirli bir uzunlukta kısaltın.

Seçenekler

length (tür: int) - Varsayılan: 300, maksimum: 300. Gerekli.
eşsiz 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 harf (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 parçalarının maksimum süreyle birleştirilmesine neden olur, örneğin Azure-Search olur AzureSearch. Varsayılan değer false.

catenateNumbers (tür: bool) - Sayı parçalarının ardışık bir dizi halinde birleştirilmesine neden olur, örneğin 1-2 birleştirildiğinde 12 olur. 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üğün sonundaki 's'nin 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 her zaman #Microsoft.Azure.Search ile ön eklenir ve ArabicNormalizationTokenFilter aslında #Microsoft.Azure.Search.ArabicNormalizationTokenFilter olarak belirtilir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak kodunuza eklemeyi unutmayın.

Ayrıca bkz.