Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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, bircharFiltersbölümde ayarlanabilen seçeneklere sahiptir. Karakter filtreleri isteğe bağlıdır.tokenizertam 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 birtokenFilterbö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.