Azure Bilişsel Arama dizinindeki dize alanlarına özel çözümleyiciler ekleme
Özel çözümleyici , Token İzer 'ın Kullanıcı tanımlı bir birleşimidir, bir veya daha fazla belirteç filtresi, arama dizininde belirtilen bir veya daha fazla karakter filtresi ve özel analiz gerektiren alan tanımlarında başvurulmalıdır. Belirteç ayırıcı, belirteçlere son metin ve Simgeleştirici tarafından yayılan belirteçleri değiştirmeye yönelik belirteç filtrelerinden sorumludur. Karakter filtreleri, giriş metnini Simgeleştirici tarafından işlenmeden önce hazırlar. Kavramlar ve örnekler için bkz. Azure bilişsel arama Çözümleyicileri.
Özel bir çözümleyici, hangi analiz veya filtreleme türlerini ve bunların oluşma sırasını seçmenize olanak tanıyarak, metni, dizin haline dönüştürülebilir ve aranabilir belirteçlere dönüştürme sürecini denetlemenizi sağlar.
Varsayılan (Standart Lucence), yerleşik veya dil Çözümleyicileri gereksinimleriniz için yeterli değilse özel bir çözümleyici oluşturun ve atayın. Özel seçeneklerle yerleşik bir çözümleyici kullanmak istiyorsanız özel bir çözümleyici de oluşturabilirsiniz. Örneğin, maxTokenLength değerini standart üzerinde 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ümleyiciler yararlı olabilecek senaryolar şunlardır:
Metin girişlerinin simgeleştirmesinden önce HTML işaretlemesini kaldırmak için karakter filtreleri kullanma veya belirli karakterleri ya da sembolleri değiştirme.
Fonetik arama. Bir sözcüğün nasıl seslendiğinden ve nasıl yazıldığını temel alarak aramayı etkinleştirmek için bir fonetik filtresi ekleyin.
Sözcük analizini devre dışı bırakın. Çözümlenmemiş aranabilir alanlar oluşturmak için anahtar sözcük Çözümleyicisi ' ni kullanın.
Hızlı önek/sonek araması. Hızlı önek eşleştirmeyi etkinleştirmek için sözcük ön eklerini dizine eklemek için Edge N-gram belirteç filtresini ekleyin. Sonek eşleştirmeyi yapmak için ters belirteç filtresiyle birleştirin.
Özel simgeleştirme. Örneğin, boşlukları bir sınırlayıcı olarak kullanarak belirteçlere bölmek için Simgeleştirici boşluk kullanın
ASCII katlama. Ö veya ê gibi aksanları, arama terimlerinde normalleştirmek için standart ASCII katlama filtresini ekleyin.
Not
Özel çözümleyiciler Azure portal gösterilmez. Özel çözümleyici eklemenin tek yolu, bir dizini tanımlayan koddur.
Özel çözümleyici oluşturma
Özel bir çözümleyici oluşturmak için, tasarım zamanında bir dizinin "çözümleyiciler" bölümünde belirtin ve ardından "Analyzer" özelliğini ya da "ındexanalyzer" ve "searchAnalyzer" çiftini kullanarak aranabilir, Edm. String alanlarında başvuru yapın.
Çözümleyici tanımı bir ad, tür, bir veya daha fazla karakter filtresi, en fazla bir Simgeleştirici ve simgeleştirme sonrası işleme için bir veya daha fazla belirteç filtresi içerir. Karakter filtreleri simgeleştirme öncesinde uygulanır. Belirteç filtreleri ve karakter filtreleri soldan sağa uygulanır.
Özel bir Çözümleyicisindeki adların benzersiz olması ve yerleşik çözümleyiciler, belirteçlerin, belirteç filtreleri veya karakter filtreleriyle aynı olamaz. Yalnızca harf, rakam, boşluk, tire veya alt çizgi içermelidir, yalnızca alfasayısal karakterlerle başlayıp bitebilirler ve 128 karakterle sınırlıdır.
Tür #Microsoft. Azure. Search. CustomAnalyzer olmalıdır.
"charFilters" bir veya daha fazla karakter filtresindenbir veya daha fazla filtre olabilir ve bu, belirteçten önce, belirtilen sıraya göre işlenir. Bazı karakter filtreleri, "bir" charFilter bölümünde ayarlanabilir seçeneklere sahiptir. Karakter filtreleri isteğe bağlıdır.
"Simgeleştirici" tam olarak bir Simgeleştirici. Değer gereklidir. Birden fazla belirteç Oluşturucu gerekirse, birden çok özel çözümleyici oluşturabilir ve bunları Dizin şemanızda alan temelinde atayabilirsiniz.
"tokenFilters", belirteç filtrelerindenbir veya daha fazla filtre olabilir ve bu, belirteçlerin ardından, belirtilen sırayla işlenir. Seçenekleri olan belirteç filtreleri için yapılandırmayı belirtmek üzere bir "tokenFilter" bölümü ekleyin. Belirteç filtreleri isteğe bağlıdır.
Çözümleyiciler 300 karakterden daha uzun belirteçler üretmemelidir, yoksa dizin oluşturma başarısız olur. Uzun belirteci kırpmak veya hariç tutmak için, sırasıyla truncatetokenfilter ve lengthtokenfilter kullanın. Başvuru için belirteç filtrelerine bakın.
"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,
...
}
]
Bir dizin tanımı içinde, bu bölümü bir oluştur dizin isteği gövdesinde herhangi bir yere yerleştirebilirsiniz, ancak genellikle sona geçer:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
Çözümleyici tanımı, daha büyük dizinin bir parçasıdır. Karakter filtreleri, simgeler ve belirteç filtreleri için tanımlar, yalnızca özel seçenekler ayarlıyorsanız dizine eklenir. Var olan bir filtreyi veya belirteç ayırıcı 'ı olduğu gibi kullanmak için, bunu çö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 bilişsel arama çözümleyiciler ekleme.
Özel Çözümleyicileri test et
Bir çözümleyici 'nin metin olarak belirteçlere nasıl bölüneceğini görmek için Test çözümleyici 'yi (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"
}
Response
{
"tokens": [
{
"token": "vis_a_vis",
"startOffset": 0,
"endOffset": 9,
"position": 0
},
{
"token": "vis_à_vis",
"startOffset": 0,
"endOffset": 9,
"position": 0
},
{
"token": "means",
"startOffset": 10,
"endOffset": 15,
"position": 1
},
{
"token": "opposite",
"startOffset": 16,
"endOffset": 24,
"position": 2
}
]
}
Özel Çözümleyicileri Güncelleştir
Çözümleyici, belirteç ayırıcı, belirteç filtresi veya karakter filtresi tanımlandıktan sonra değiştirilemez. Var olan bir dizine yalnızca allowIndexDowntime bayrak, Dizin güncelleştirme isteğinde true olarak ayarlanırsa yeni olanlar eklenebilir:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Bu işlem, dizin oluşturma ve sorgu isteklerinizin başarısız olmasına neden olacak şekilde dizininizi en az birkaç saniyede çevrimdışı hale getirir. Dizinin performansı ve yazma kullanılabilirliği, Dizin güncelleştirildikten sonra birkaç dakika boyunca veya çok büyük dizinler için daha uzun olabilir, ancak bu etkileri geçicidir ve sonunda kendi kendine çözümlenir.
Yerleşik çözümleyiciler
Özel seçeneklerle yerleşik bir çözümleyici kullanmak istiyorsanız, özel çözümleyici oluşturmak, bu seçenekleri belirttiğiniz mekanizmadır. Buna karşılık, bir yerleşik çözümleyici 'yi olduğu gibi kullanmak için, yalnızca alan tanımında ada göre başvuru yapmanız gerekir.
| analyzer_name | analyzer_type 1 | Açıklama ve Seçenekler |
|---|---|---|
| sözcükle | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Bir alanın tüm içeriğini tek bir belirteç olarak değerlendirir. Bu, ZIP kodları, kimlikler ve bazı ürün adları gibi veriler için yararlıdır. |
| kalıp | PatternAnalyzer | Bir normal ifade örüntüsünün ardından metni esnek olarak koşullara ayırır. Seçenekler küçük harf (tür: bool)-koşulların küçük olup olmadığını belirler. Varsayılan değer true 'dur. model (tür: dize)-belirteç ayırıcılarını eşleştirmek için bir normal ifade deseninin. \W+Sözcük olmayan karakterlerle eşleşen varsayılan değer varsayılandır. bayraklar (tür: dize)-normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, AÇıKLAMALAR, DOTALL, DEĞIŞMEZ değer, çok SATıRLı, UNICODE_CASE, UNIX_LINES stopword (tür: dize dizisi)-stopword listesi. Varsayılan değer boş bir liste. |
| MPLE | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni mektupsız böler ve küçük harfe dönüştürür. |
| Stand (Standart. Lucene olarak da adlandırılır) | Standartçözümleyici | Standart Simgeleştirici, küçük harfli filtre ve durdurma filtresinden oluşan standart Lucene Çözümleyicisi. Seçenekler maxTokenLength (tür: int)-en büyük belirteç uzunluğu. Varsayılan değer 255 ' dir. Uzunluk üst sınırından daha uzun belirteçler bölünür. Kullanılabilecek maksimum belirteç uzunluğu 300 karakterdir. stopword (tür: dize dizisi)-stopword listesi. Varsayılan değer boş bir liste. |
| standardavbilimifolding. Lucene | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Ascii katlama filtresiyle standart çözümleyici. |
| Durdurmak | StopAnalyzer | Metni harf olmayan şekilde 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üyor. |
1 Çözümleyici Türleri her zaman "#Microsoft.Azure.Search" ön ekini alır, böylece "PatternAnalyzer" aslında "#Microsoft.Azure.Search.PatternAnalyzer" olarak belirtilebilir. Bu ön eki daha uzun bir süre için kaldırdık ancak ön ek kodunda gereklidir.
Bu analyzer_type yalnızca özelleştirebileceğiniz çözümleyiciler için sağlanır. Anahtar sözcük çözümleyicisi için olduğu gibi hiçbir seçenek yoksa, #Microsoft.Azure.Search türü yoktur.
Karakter filtreleri
Karakter filtreleri, bir dize belirteçleyiciye ulaşmadan önce işleme ekler.
Bilişsel Arama, aşağıdaki listede yer alan 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ı silen bir karakter filtresi. |
| eşleme | MappingCharFilter | Eşlemeler seçeneğiyle tanımlanan eşlemeleri uygulanan bir karakter filtresi. Eşleştirme doyumsuz bir desendir (verilen bir noktada eşleşen en uzun desen kazanır). Değiştirmenin boş dize olması gerekir. Seçenekler eşlemeler (tür: dize dizisi) - Şu biçimde eşlemelerin listesi: "a=>b" ("a" karakterinin tüm oluşumları "b" karakteriyle değiştirilir"). Gereklidir. |
| pattern_replace | PatternReplaceCharFilter | Giriş dizesinde karakterlerin yerini alan bir karakter filtresi. Korunacak karakter dizilerini tanımlamak için normal bir ifade ve değiştiri yapılacak karakterleri tanımlamak için bir değiştirme deseni kullanır. Örneğin, giriş metni = "aa bb aa bb", pattern="(aa) \ \s+(bb)" replacement="$1#$2", result = "aa#bb aa#bb". Seçenekler pattern (type: string) - Gerekli. değiştirme (tür: dize) - Gerekli. |
1 Karakter Filtresi Türleri her zaman kodda "#Microsoft.Azure.Search" ön eklerini alır, böylece "MappingCharFilter" aslında "#Microsoft.Azure.Search.MappingCharFilter" olarak belirtilir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak bunu kodunuza dahil etmek için lütfen unutmayın. Bu char_filter_type yalnızca özelleştirebileceğiniz filtreler için sağlanmıştır. Html_strip'de olduğu gibi seçenek yoksa, #Microsoft.Azure.Search türü yoktur.
Belirteçleştiriciler
Belirteçleştirici, sürekli metni bir cümleyi sözcüklere bölme veya bir sözcüğü kök formlara bölme gibi belirteç dizisine böler.
Bilişsel Arama, aşağıdaki listede belirteçleri 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 belgelerini işlemeye uygun dil bilgisi tabanlı belirteçleyici. Seçenekler maxTokenLength (tür: int) - Maksimum belirteç uzunluğu. Varsayılan: 255, en fazla: 300. En uzun uzunluktan daha uzun belirteçler bölünüyor. |
| edgeNGram | EdgeNGramTokenizer | Bir kenardan gelen girişi, verilen boyutlarda n-gram olarak belirteçler. Seçenekler minGram (type: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, maksimum: 300. minGram'dan büyük olması gerekir. tokenChars (tür: dize dizisi) - Belirteçlerde tutmak için karakter sınıfları. İzin verilen değerler: "letter", "digit", "whitespace", "punctuation", "symbol". Varsayılan olarak boş bir dizi kullanılır; tüm karakterleri tutar. |
| keyword_v2 | KeywordTokenizerV2 | Girişin tamamını tek bir belirteç olarak yalıtır. Seçenekler maxTokenLength (tür: int) - Maksimum belirteç uzunluğu. Varsayılan: 256, en fazla: 300. En uzun uzunluktan daha uzun belirteçler bölünüyor. |
| Mektup | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni harf olmayan şekilde böler. 255 karakterden uzun belirteçler bölünüyor. |
| Küçük | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni harf olmayan şekilde böler ve küçük harfe dönüştürür. 255 karakterden uzun belirteçler bölünüyor. |
| 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. En uzun uzunluktan daha uzun belirteçler bölünüyor. 300 karakterden uzun belirteçler önce 300 uzunluğundaki belirteçlere bölünüyor ve ardından bu belirteçlerin her biri maxTokenLength kümesine göre bölünüyor. isSearchTokenizer (tür: bool) - Arama belirteci olarak kullanılıyorsa true olarak ayarlayın, dizin belirteci olarak kullanılıyorsa false olarak ayarlayın. language (type: string) - Kullanım dili, varsayılan "english". İzin verilen değerler şunlardır: "popla", "french", "catalan", "chineseSimplified", "chineseTraditional", "english", "danca", "felemenkçe", "english", "french", "german", "yunanca", "guatiati", "hintçe", "hintçe", "hintçe", "İtalyanca", "japonca", "kannada", "korece", "malay", "malayalam", "marathi", "norwegianBokmaal", "lehçe", "portekizce", "portekizceBraziskop", "punjabi", "rumence", "rusça", "sırpcyrillic", "serbianLatin", "slovence", "spanish", "İsveççe", "tamil", "telugu", "thai", " olarak", "urdu", "vietnamese" |
| microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Dile özgü kuralları kullanarak metni böler ve sözcükleri temel formlarına azaltır Seçenekler maxTokenLength (tür: int)-en büyük belirteç uzunluğu, varsayılan: 255, en fazla: 300. Uzunluk üst sınırından daha uzun belirteçler bölünür. 300 karakterden daha uzun belirteçler, ilk olarak 300 uzunluklu belirteçlere bölünür ve bu belirteçlerden her biri maxTokenLength kümesine göre bölünür. ısearchtokenizer (tür: bool)-arama Tokenizer olarak kullanılıyorsa true olarak ayarlanır, dizin oluşturma Simgeleştirici olarak kullanılıyorsa false olarak ayarlanır. Dil (tür: dize)-kullanılacak dil, varsayılan "İngilizce". İzin verilen değerler şunlardır: "Arapça", "Bangla", "Bulgarca", "Katalanca", "Hırvatça", "Çekçe", "Danca", "Felemenkçe", "İngilizce", "Estonya", "Fince", "Fransızca", "Almanca", "Yunanca", "Finlandiya", "İbranice", "Hintçe", "Macarca", "" İzlanda "," Endonezya "," İtalyanca "," Kannada dili "," Letonya "," Litvanca "," Malay "," Malayalam "," Marathi "," norwegianBokmaal "," Lehçe "," Portekizce "," portugueseBrazilian "," Pencap dili "," Rumence "," Rusça "," serbianCyrillic "," serbianLatin "," Slovak "," Slovence "," İspanyolca "," İsveççe "," Tamil dili "," Telugu dili "," Türkçe "," Ukraynaca "," Urduca " |
| nGram | NGramTokenizer | Girişi, verilen boyut (ler) i n-gram olarak simgeleştirir. 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. belirteçlerde saklanacak tokenChars (tür: dize dizisi)-karakter sınıfları. İzin verilen değerler: "Letter", "digit", "Whitespace", "noktalama", "Symbol". Varsayılan olarak boş bir dizi-tüm karakterleri tutar. |
| path_hierarchy_v2 | PathHierarchyTokenizerV2 | Yol benzeri Hiyerarşiler için Simgeleştirici. Seçenekler sınırlayıcı (tür: dize)-varsayılan: '/. değiştirme (Type: String)-ayarlandıysa, sınırlayıcı karakteri değiştirir. Varsayılan değer sınırlayıcı değeriyle aynıdır. maxTokenLength (tür: int)-en büyük belirteç uzunluğu. Varsayılan: 300, en fazla: 300. MaxTokenLength 'den uzun olan yollar yoksayıldı. ters (Type: bool)-true Ise, belirteç ters sırada oluşturulur. Varsayılan: false. Skip (tür: bool)-atlanacak başlangıç belirteçleri. Varsayılan değer, 0'dur. |
| kalıp | PatternTokenizer | Bu belirteç ayırıcı, farklı belirteçler oluşturmak için Regex düzeniyle eşleştirmeyi kullanır. Seçenekler model (tür: dize)-belirteç ayırıcılarını eşleştirmek için normal ifade deseninin. \W+Sözcük olmayan karakterlerle eşleşen varsayılan değer varsayılandır. bayraklar (tür: dize)-normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, AÇıKLAMALAR, DOTALL, DEĞIŞMEZ değer, çok SATıRLı, UNICODE_CASE, UNIX_LINES Grup (tür: int)-belirteçlere Ayıklanacak grup. Varsayılan değer-1 ' dir (bölünmüş). |
| standard_v2 | StandardTokenizerV2 | Unicode metin segmentleme kurallarındansonraki metni keser. Seçenekler maxTokenLength (tür: int)-en büyük belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından daha uzun belirteçler bölünür. |
| uax_url_email | Uıaxurtamailtokenizer | URL 'leri ve e-postaları tek bir belirteç olarak simgeleştirir. Seçenekler maxTokenLength (tür: int)-en büyük belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından daha uzun belirteçler bölünür. |
| boşlu | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni boşluk olarak böler. 255 karakterden uzun belirteçler bölünür. |
1 Tokenizer türlerine her zaman "#Microsoft. Azure. Search" ile kod ön eki uygulanır ve "ClassicTokenizer" aslında "#Microsoft. Azure. Search. ClassicTokenizer" olarak belirtilir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak kodunuza dahil etmeyi unutmayın. Tokenizer_type yalnızca özelleştirilebilecek simgeleyiciler için sağlandığını unutmayın. Hiçbir seçenek yoksa, Simgeleştirici harfle aynı olduğu gibi, ilişkili #Microsoft. Azure. Search türü yoktur.
Belirteç filtreleri
Belirteç filtresi, bir Simgeleştirici 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 bir çözümleyici 'de birden çok belirteç filtresi kullanabilirsiniz. Belirteç filtreleri listelendikleri sırada çalışır.
Aşağıdaki tabloda, Apache Lucene kullanılarak uygulanan belirteç filtreleri, Lucene API belgelerine bağlanı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) | Diklerinin normalleştirmek için Arapça normalleştirici uygulayan bir belirteç filtresi. |
| kesme işareti | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Kesme işareti (kesme işareti dahil) sonrasında tüm karakterleri şeritler. |
| yokıifolding | AsciiFoldingTokenFilter | İlk 127 ASCII karakterden ("temel Latin" Unicode bloğu) olmayan alfabetik, sayısal ve sembolik Unicode karakterlerini, varsa ASCII eşdeğerlerine dönüştürür. Seçenekler Preserveorijinali (tür: bool)-true Ise, özgün belirteç tutulur. Varsayılan değer false. |
| cjk_bigram | CjkBigramTokenFilter | StandardTokenizer 'dan oluşturulan CJK terimlerin bıgram sayısı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 liste. Outputunigram (Type: bool)-hem unigram hem de bigram için her zaman çıkış yapmak 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şlik ASCII varyantlarını eşdeğer temel Latin ve yarı genişlikte katakana çeşitlerine eşit kana ile katlayın. |
| klasik | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Ingilizce sahip olan ve kısaltmalardan oluşan noktaları ortadan kaldırır. |
| common_grams | CommonGramTokenFilter | Dizin oluşturma sırasında sık karşılaşılan koşullar için bigram oluşturun. Tek terimler hala dizine eklenmiş bir şekilde dizinlenir. Seçenekler commonWords (tür: dize dizisi)-ortak sözcükler kümesi. Varsayılan değer boş bir liste. Gereklidir. IgnoreCase (tür: bool)-true Ise, eşleşme büyük/küçük harfe duyarsızdır. Varsayılan değer false. queryMode (tür: bool)-çoklu gram oluşturur ve ardından ortak bir sözcük gelen ortak kelimeleri ve tek terimleri kaldırır. Varsayılan değer false. |
| dictionary_decompounder | DictionaryDecompounderTokenFilter | Birçok Germanic dilinde bulunan Bileşik sözcüklerin çıkarılması. Seçenekler Sözcük türü (tür: dize dizisi)-eşleştirilecek sözcüklerin listesi. Varsayılan değer boş bir liste. Gereklidir. minWordSize (tür: int)-bu alma sonrasında yalnızca daha uzun sözcükler işlenir. Varsayılan değer 5’tir. minSubwordSize (tür: int)-yalnızca bundan daha uzun alt sözcükler silinir. Varsayılan değer 2 ' dir. maxSubwordSize (tür: int)-yalnızca bundan kısa olan alt sözcükler silinir. Varsayılan değer 15’tir. onlyLongestMatch (Type: bool)-çıktıyı yalnızca en uzun eşleşen alt sözcük ekleyin. Varsayılan değer false. |
| edgeNGram_v2 | EdgeNGramTokenFilterV2 | Verilen boyut (ler) in önüne veya bir giriş belirtecinin arkasına kadar olan n-gram üretir. 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. SIDE (tür: dize)-n-gram öğesinin hangi tarafına oluşturulacağını belirtir. İzin verilen değerler: "ön", "geri" |
| Eleme gerçekleştirilemedi | ElisionTokenFilter | Kaldırmalar kaldırılır. Örneğin, "liavion" (düzlem) "Avion" (uçak) olarak dönüştürülür. Seçenekler Makaleler (tür: dize dizisi)-kaldırılacak makale kümesi. Varsayılan değer boş bir liste. Makale kümesi 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) | Almanya karakterlerini German2 kar topu algoritmasındaki buluşsal yöntemler doğrultusunda normalleştirir. |
| hindi_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Yazım çeşitlerindeki bazı farklılıkları kaldırmak için Hintçe içindeki metni normalleştirir. |
| indic_normalization | Indicnormalizationtokenfilter | Hintçe dillerdeki metnin Unicode gösterimini normalleştirir. |
| tutmanıza | KeepTokenFilter | Yalnızca belirtilen sözcük listesinde bulunan metinle birlikte belirteçleri tutan belirteç filtresi. Seçenekler keepWords (tür: dize dizisi)-saklanacak sözcüklerin bir listesi. Varsayılan değer boş bir liste. Gereklidir. keepWordsCase (tür: bool)-true Ise, küçük harf tüm sözcükleri önce. 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şaretlemek için sözcüklerin listesi. Varsayılan değer boş bir liste. Gereklidir. IgnoreCase (tür: bool)-true Ise, küçük harf tüm sözcükleri önce. Varsayılan değer false. |
| keyword_repeat | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Her gelen belirteci, anahtar sözcük olmayan bir defa anahtar sözcük ve bir kez bir kez yayar. |
| kstem | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Ingilizce için yüksek performanslı bir kstem filtresi. |
| length | LengthTokenFilter | Çok uzun veya çok kısa olan kelimeleri kaldırır. Seçenekler Min (Type: int)-minimum sayı. Varsayılan: 0, maksimum: 300. Max (Type: int)-maksimum sayı. Varsayılan: 300, en fazla: 300. |
| limit | Microsoft. Azure. Search. Limitsimgefilter | Dizin oluşturma sırasında belirteçlerin sayısını sınırlar. Seçenekler maxTokenCount (tür: int)-üretilecek en fazla belirteç sayısı. Varsayılan değer 1'dir. Tüketimealltokens (tür: bool)-maxTokenCount değerine ulaşılsa bile, girdiden tüm belirteçlerin tüketilmesi gerekip gerekmediğini belirtir. Varsayılan değer false. |
| No | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç metnini küçük harfe normalleştirir. |
| nGram_v2 | NGramTokenFilterV2 | Verilen boyut (ler) i için n-gram üretir. Seçenekler minGram (type: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, en fazla 300. minGram'dan büyük olması gerekir. |
| pattern_capture | PatternCaptureTokenFilter | Java ifadelerini kullanarak bir veya daha fazla desende her yakalama grubu için bir tane olmak için birden çok belirteç yayın. Seçenekler patterns (type: string array) - Her belirteçle eşleşmesi gereken desenlerin listesi. Gereklidir. preserveOriginal (tür: bool) - Desenlerden biri eşlese bile özgün belirteci iade etmek 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ışta bulunan her belirteç için bir desen uygulanan belirteç filtresi. Seçenekler pattern (type: string) - Gerekli. değiştirme (tür: dize) - Gerekli. |
| persian_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Modernleştirme için normalleştirme uygular. |
| Fonetik | PhoneticTokenFilter | Telefon numarası eşleşmeleri için belirteçler oluşturun. Seçenekler kodlayıcı (tür: dize) - Kullanmak için telefon numarası kodlayıcı. İzin verilen değerler şunlardır: "metaphone", "doubleMetaphone", "soundex", "refinedEx", "caverphone1", "caverphone2", "yer", "nysiis", "koelnerPhonetik", "phoneePhonetik", "beiderMorse". Varsayılan: "meta telefon". Varsayılan olarak meta telefon kullanılır. Daha fazla bilgi için bkz. kodlayıcı. replace (tür: bool) - Kodlanmış belirteçlerin özgün belirteçleri değiştirmesi gerekirse True, eş anlamlı olarak eklenmeleri gerekirse false olur. Varsayılan değer true'dır. |
| porter_stem | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç akışını, Gövde gövdesi algoritmasına göre dönüştürer. |
| Ters | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç dizesini tersine döndürür. |
| scandinavian_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Değiştirilebilir Scandinavian karakterlerinin kullanımını normalleştirme. |
| scandinavian_folding | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | åÅååÅÅÅ->Ve öÖåÅ->o karakterlerini katlar. Ayrıca aa, ae, ao, oe ve oo çift sesli harflerin kullanımına karşı ayrımcıdır ve yalnızca ilkini bırakarak. |
| Shingle | GleTokenFilter | Belirteç birleşimlerini tek bir belirteç olarak oluşturur. Seçenekler maxShingleSize (tür: int) - Varsayılan değer 2'dir. minShingleSize (tür: int) - Varsayılan değer 2'dir. outputUnigrams (type: bool) - true ise, çıkış akışı hem giriş belirteçlerini (tek birimleri) hem degle'ları içerir. Varsayılan değer true'dır. outputUnigramsIfNoShingles (tür: bool) - True ise, hiçbirgle'ın kullanılabilir olduğu zamanlar için outputUnigrams==false davranışını geçersiz kılın. Varsayılan değer false. tokenSeparator (tür: dize) - Birgle oluşturmak için bitişik belirteçleri birleştirmede kullanmak üzere dize. Varsayılan değer " " şeklindedir. filterToken (tür: dize) - Belirteci olmayan her konum için eklemek istediğiniz dize. Varsayılan değer "_" şeklindedir. |
| Kartopu | SnowballTokenFilter | Snowball Belirteç Filtresi. Seçenekler language (type: string) - İzin verilen değerler şunlardır: "english", "basque", "catalan", "danca", "felemenkçe", "english", "fince", "french", "german", "german2", "macar", "italian", "kp", "lovins", "norveççe", "portekizce", "rumence", "rusça", "İspanyolca", "İsveççe", "türkçe" |
| sorani_normalization | SoraniNormalizationTokenFilter | Sorani metninin Unicode gösterimini normalleştirin. Seçenekler Yok. |
| Stemmer | StemmerTokenFilter | Dile özgü kök filtreleme. Seçenekler language (type: string) - İzin verilen değerler şunları içerir: - "arapça" - "yerkarak" - "basque" - "brezilya" - "yunanca" - "catalan" - "çekçe" - "danca" - "felemenkçe" - "felemenkçeKp" - "english" - "lightEnglish" - "minimalEnglish" - "possessiveEnglish" - "açık 2" - "lovins" - "fince" - "lightFinnish" - "fransızca" - "lightFrench" - "minimalFrench" - "galiçya" - "minimalGalician" - "almanca" - "german2" - "lightGerman" - "minimalGerman" - "yunanca" - "hintçe" - "macarca" - "lightHungaiter" - "endonezya" - "açık" - "İtalyanca" - "lightAlt" - "sorani" - "leton" - "norveççe" - "lightNorwegian" - "minimalNorwegian" - "lightNynorsk" - "minimalNynorsk" - "portekizce" - "lightPortuguese" - "minimalPortuguese" - "portekizceRslp" - "rumence" - "rusça" - "lightRussian" - "İspanyolca" - "lightSpanish" - "İsveççe" - "lightSwedish" - "türkçe" |
| stemmer_override | StemmerOverrideTokenFilter | Sözlükten kaynaklanan terimler anahtar sözcük olarak işaretlenir ve bu da zincirden kaynaklananları önler. Herhangi bir kök filtreden önce yerleştirilleri gerekir. Seçenekler rules (type: string array) - "word => stem" biçimindeki kök kurallar, örneğin "ran => run". Varsayılan, boş bir listedir. Gereklidir. |
| 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ük listesi kullanır. Seçenekler stopwords (tür: dize dizisi) - Stopwords listesi. StopwordsList belirtilirse belirtilmez. stopwordsList (tür: dize) - Önceden tanımlanmış bir stopwords listesi. Stopwords belirtilirse belirtilmez. İzin verilen değerler şunlardır:"arapça", "sıca", "basque", "brezilya", "portekizce", "katalanca", "çek", "danca", "felemenkçe", "english", "fince", "french", "galician", "german", "yunanca", "hintçe", "macarca", "endonezya", "portekizce", "norveççe", "türkçe", varsayılan: "portekizce", "rumence", "rusça", "sorani", "İspanyolca", "İsveççe", "tayca", "türkçe", varsayılan: "english". Stopwords belirtilirse belirtilmez. ignoreCase (tür: bool) - True ise, önce tüm sözcükler küçük harfe sahip olur. Varsayılan değer false. removeTrailing (tür: bool) - True ise, durdurma sözcüğü ise son arama terimini yoksayın. Varsayılan değer true'dır. |
| Eşanlamlı | SynonymTokenFilter | Bir belirteç akışında tek veya çok sözcüklü eş anlamlılarla eşler. Seçenekler eş anlamlılar (tür: dize dizisi) - Gerekli. Aşağıdaki iki biçimden biri olan eş anlamlıların listesi: -amazing, amazinge, amazing => amazing - => sembolünü sol tarafındaki tüm terimler, sağ tarafındaki tüm terimlerle değiştirilir. -amazing, amazinge, amazing- Eşdeğer sözcüklerin virgülle ayrılmış listesi. Bu listenin yorumlanmasında değişiklik yapmak için genişlet 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 listesinde yer alan tüm sözcükler (if => notasyonu kullanılmaz) eşler. Aşağıdaki liste: inanılmaz, muhteşem, harika, şaşırtıcı ile eşdeğerdir: inanılmaz, muhteşem, harika, harika, harika => inanılmaz, inanılmaz, harika, harika - False ise, şu liste: inanılmaz, inanılmaz, inanılmaz, harika, şaşırtıcı şu listeyle eşdeğerdir: inanılmaz, harika, harika, harika => inanılmaz. |
| Döşeme | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteçlerden öndeki ve sonda boşluklar kırpıyor. |
| Truncate | TruncateTokenFilter | Terimleri belirli bir uzunlukta keser. Seçenekler length (type: int) - Varsayılan: 300, maksimum: 300. Gereklidir. |
| Benzer -siz | UniqueTokenFilter | Önceki belirteçle aynı metinle belirteçleri filtreler. Seçenekler onlyOnSamePosition (tür: bool) - Ayarlanırsa, yalnızca aynı konumdaki yinelenenleri kaldırın. Varsayılan değer true'dır. |
| Büyük | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç metnini büyük harfe normalleştirin. |
| 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üklerin bölümlerinin oluşturularak "AzureSearch" "Azure" "Search" olur. Varsayılan değer true'dır. generateNumberParts (tür: bool) - Sayı alt adlarının üretilma neden olur. Varsayılan değer true'dır. catenateWords (tür: bool) - En fazla sözcük parçası çalıştırmalarının kategorilere ayırmalarına neden olur; örneğin, "Azure-Search" "AzureSearch" olur. Varsayılan değer false. catenateNumbers (tür: bool) - En fazla sayı parçası çalıştırmalarının kategorilere ayırmasına neden olur; örneğin, "1-2" "12" olur. Varsayılan değer false. catenateAll (tür: bool) - Tüm alt sözcük parçalarının kategorilere ayırmalarına neden olur. Örneğin, "Azure-Search-1" "AzureSearch1" olur. Varsayılan değer false. splitOnCaseChange (tür: bool) - True ise, sözcükleri caseChange üzerine böler, örneğin "AzureSearch" "Azure" "Search" olur. Varsayılan değer true'dır. preserveOriginal - Özgün sözcüklerin korunmasına ve alt sözcük listesine eklenmeye neden olur. Varsayılan değer false. splitOnNumerics (tür: bool) - True ise sayılara böler, örneğin "Azure1Search" "Azure" "1" "Search" olur. Varsayılan değer true'dır. stemEnglishPossessive (tür: bool) - Her alt sözcük için sonda "'ların" kaldırılmasına neden olur. Varsayılan değer true'dır. protectedWords (tür: dize dizisi) - Sınırlandırılmış olmaktan korunmak için belirteçler. Varsayılan, boş bir listedir. |
1 Belirteç Filtresi Türleri her zaman kodda "#Microsoft.Azure.Search" ön eklerini alır, böylece "ArabicNormalizationTokenFilter" aslında "#Microsoft.Azure.Search.ArabicNormalizationTokenFilter" olarak belirtilebilir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak bunu kodunuza dahil etmek için lütfen unutmayın.