Azure AI Search dizinindeki dize alanlarına özel çözümleyiciler ekleme
Özel çözümleyici, bir belirteç oluşturucu, bir veya daha fazla belirteç filtresi ve bir veya daha fazla karakter filtresinin kullanıcı tanımlı bir bileşimidir. Arama dizininde özel bir çözümleyici belirtilir ve ardından özel analiz gerektiren alan tanımlarında ada göre başvurulur. Alan başına bir özel çözümleyici çağrılır. Alandaki öznitelikler dizin oluşturma, sorgular veya her ikisi için kullanılıp kullanılmadığını belirler.
Özel çözümleyicide karakter filtreleri, belirteç oluşturucu tarafından işlenmeden önce giriş metnini hazırlar (örneğin, işaretlemeyi kaldırma). Ardından belirteç oluşturucu metni belirteçlere böler. Son olarak, belirteç filtreleri belirteç oluşturucu tarafından yayılan belirteçleri değiştirir. Kavramlar ve örnekler için bkz . Azure AI Search'te Çözümleyiciler.
Özel çözümleyici neden kullanılır?
Özel çözümleyici, çağrılacak çözümleme veya filtreleme türlerini ve bunların oluş sırasını seçmenize olanak tanıyarak metni dizine alınabilen ve aranabilir belirteçlere dönüştürme işlemi üzerinde denetim sahibi olmanıza olanak sağlar.
Varsayılan (Standart Lucence), yerleşik veya dil çözümleyicilerinden hiçbiri gereksinimleriniz için yeterli değilse özel bir çözümleyici oluşturun ve atayın. Ayrıca, özel seçeneklerle yerleşik çözümleyici kullanmak istiyorsanız özel çözümleyici de oluşturabilirsiniz. Örneğin, maxTokenLength değerini Standard'da değiştirmek isterseniz, bu seçeneği ayarlamak için kullanıcı tanımlı bir ada sahip özel bir çözümleyici oluşturursunuz.
Özel çözümleyicilerin yararlı olabileceği senaryolar şunlardır:
Metin girişleri belirteç haline getirilmeden önce HTML işaretlemesini kaldırmak için karakter filtrelerini kullanma veya belirli karakterleri ya da simgeleri değiştirme.
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 araması. Hızlı ön ek eşleştirmeyi etkinleştirmek için sözcüklerin ön eklerini dizine eklemek için Edge N-gram belirteç filtresini ekleyin. Sonek eşleştirmesi yapmak için bunu Ters belirteç filtresiyle birleştirin.
Özel belirteç oluşturma. Örneğin, sınırlayıcı olarak boşluk kullanarak tümceleri belirteçlere bölmek için Boşluk belirteci kullanın
ASCII katlama. Arama terimlerinde ö veya ê gibi aksanları normalleştirmek için Standart ASCII katlama filtresini ekleyin.
Not
Özel çözümleyiciler Azure portalında kullanıma sunulmaz. Özel çözümleyici eklemenin tek yolu, dizini tanımlayan koddur.
Özel çözümleyici oluşturma
Özel çözümleyici oluşturmak için, bunu tasarım zamanında dizinin bölümünde belirtin analyzers
ve ardından özelliği veya indexAnalyzer
ve searchAnalyzer
çiftini analyzer
kullanarak aranabilir Edm.String
alanlarda buna başvurun.
Çözümleyici tanımı bir ad, tür, bir veya daha fazla karakter filtresi, en fazla bir belirteç oluşturucu ve belirteç sonrası işleme için bir veya daha fazla belirteç filtresi içerir. Karakter filtreleri belirteç oluşturmadan önce uygulanır. Belirteç filtreleri ve karakter filtreleri soldan sağa uygulanır.
Özel çözümleyicideki adlar benzersiz olmalıdır ve yerleşik çözümleyiciler, belirteç oluşturucular, belirteç filtreleri veya karakter filtreleriyle aynı olamaz. Yalnızca harf, basamak, boşluk, tire veya alt çizgi içermelidir, yalnızca alfasayısal karakterlerle başlayıp bitebilir ve 128 karakterle sınırlıdır.
Tür #Microsoft.Azure.Search.CustomAnalyzer olmalıdır.
charFilters
, belirteç oluşturmadan önce belirtilen sırayla işlenen Karakter Filtrelerinden bir veya daha fazla filtre olabilir. Bazı karakter filtreleri, bircharFilters
bölümde ayarlanabilen seçeneklere sahiptir. Karakter filtreleri isteğe bağlıdır.tokenizer
tam olarak bir Belirteç Oluşturucudur. Bir değer gereklidir. Birden fazla belirteç oluşturucuya ihtiyacınız varsa, birden çok özel çözümleyici oluşturabilir ve bunları dizin şemanızda alan temelinde atayabilirsiniz.tokenFilters
belirteçleme sonrasında sağlanan sırayla işlenen Belirteç Filtrelerinden bir veya daha fazla filtre olabilir. Seçenekleri olan belirteç filtreleri için, yapılandırmayı belirtmek için birtokenFilter
bölüm ekleyin. Belirteç filtreleri isteğe bağlıdır.
Çözümleyiciler 300 karakterden uzun belirteçler üretmemelidir, aksi takdirde dizin oluşturma başarısız olur. Uzun belirteci kırpmak veya dışlamak için sırasıyla TruncateTokenFilter ve LengthTokenFilter kullanın. Başvuru için bkz . Belirteç filtreleri .
"analyzers":(optional)[
{
"name":"name of analyzer",
"@odata.type":"#Microsoft.Azure.Search.CustomAnalyzer",
"charFilters":[
"char_filter_name_1",
"char_filter_name_2"
],
"tokenizer":"tokenizer_name",
"tokenFilters":[
"token_filter_name_1",
"token_filter_name_2"
]
},
{
"name":"name of analyzer",
"@odata.type":"#analyzer_type",
"option1":value1,
"option2":value2,
...
}
],
"charFilters":(optional)[
{
"name":"char_filter_name",
"@odata.type":"#char_filter_type",
"option1":value1,
"option2":value2,
...
}
],
"tokenizers":(optional)[
{
"name":"tokenizer_name",
"@odata.type":"#tokenizer_type",
"option1":value1,
"option2":value2,
...
}
],
"tokenFilters":(optional)[
{
"name":"token_filter_name",
"@odata.type":"#token_filter_type",
"option1":value1,
"option2":value2,
...
}
]
Dizin tanımında, bu bölümü dizin oluşturma isteğinin gövdesinde herhangi bir yere yerleştirebilirsiniz, ancak genellikle sonuna gider:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
Çözümleyici tanımı, büyük dizinin bir parçasıdır. Karakter filtreleri, belirteç oluşturucular ve belirteç filtreleri tanımları dizine yalnızca özel seçenekler ayarladığınızda eklenir. Mevcut bir filtreyi veya belirteç oluşturucuyu olduğu gibi kullanmak için çözümleyici tanımında adıyla belirtin. Daha fazla bilgi için bkz . Dizin Oluşturma (REST). Daha fazla örnek için bkz . Azure AI Search'te çözümleyici ekleme.
Özel çözümleyicileri test etme
Bir çözümleyicinin verilen metni belirteçlere nasıl böldiğini görmek için Test Çözümleyicisi'ni (REST) kullanabilirsiniz.
İste
POST https://[search service name].search.windows.net/indexes/[index name]/analyze?api-version=[api-version]
Content-Type: application/json
api-key: [admin key]
{
"analyzer":"my_analyzer",
"text": "Vis-à-vis means Opposite"
}
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ştirme
Çözümleyici, belirteç oluşturucu, belirteç filtresi veya karakter filtresi tanımlandıktan sonra değiştirilemez. Var olan bir dizine yalnızca dizin güncelleştirme isteğinde allowIndexDowntime
bayrağı true olarak ayarlandığında yeni dizin eklenebilir:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
Bu işlem dizininizi en az birkaç saniye çevrimdışı duruma geçirir ve dizin oluşturma ve sorgu isteklerinizin başarısız olmasına neden olur. Dizinin performansı ve yazma kullanılabilirliği, dizin güncelleştirildikten sonra birkaç dakika veya çok büyük dizinler için daha uzun süre bozulabilir, ancak bu etkiler geçicidir ve sonunda kendi kendine çözülür.
Yerleşik çözümleyiciler
Özel seçeneklerle yerleşik çözümleyici kullanmak istiyorsanız, özel çözümleyici oluşturmak, bu seçenekleri belirttiğiniz mekanizmadır. Buna karşılık, yerleşik bir çözümleyiciyi olduğu gibi kullanmak için , alan tanımında buna ada göre başvurmanız yeterlidir.
analyzer_name | analyzer_type 1 | Açıklama ve Seçenekler |
---|---|---|
anahtar 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 | PatternAnalyzer | Normal ifade deseni aracılığıyla metni esnek bir şekilde terimlere ayırır. Seçenekler küçük harf (tür: bool) - Terimlerin küçük harfle yazılıp yazılmayacağını belirler. Varsayılan değer true'dur. pattern (tür: dize) - Belirteç ayırıcılarını eşleştirmek için normal bir ifade deseni. Varsayılan değer, sözcük olmayan karakterlerle eşleşen şeklindedir \W+ . flags (tür: dize) - Normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan değer boş bir listedir. |
basit | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni harf olmayanlara böler ve küçük harfe dönüştürür. |
standart (Standard.lucene olarak da adlandırılır) |
StandardAnalyzer | Standart belirteç oluşturucu, küçük harfli filtre ve durdurma filtresinden oluşan Standart Lucene çözümleyicisi. Seçenekler maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan değer 255'tir. Uzunluk üst sınırından uzun olan belirteçler bölünür. Kullanılabilecek en fazla belirteç uzunluğu 300 karakterdir. stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan değer boş bir listedir. |
standardasciifolding.lucene | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Ascii katlama filtresi ile standart çözümleyici. |
durmak | StopAnalyzer | Metni harf olmayanlara böler, küçük harf ve stopword belirteci filtrelerini uygular. Seçenekler stopwords (tür: dize dizisi) - Stopwords listesi. Varsayılan, İngilizce için önceden tanımlanmış bir listedir. |
Boşluk | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Boşluk belirteci kullanan bir çözümleyici. 255 karakterden uzun belirteçler bölünür. |
1 Çözümleyici Türleri, koda #Microsoft.Azure.Search
PatternAnalyzer
her zaman olarak belirtilecek #Microsoft.Azure.Search.PatternAnalyzer
şekilde ön eklenir. Kısalık ön ekini kaldırdık, ancak ön ek kodunuzda gereklidir.
analyzer_type yalnızca özelleştirilebilen çözümleyiciler için sağlanır. Anahtar sözcük çözümleyicisinde olduğu gibi seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.
Karakter filtreleri
Karakter filtreleri, bir dize belirteç oluşturucuya ulaşmadan önce işleme ekler.
Azure AI Search, aşağıdaki listede karakter filtrelerini destekler. Her biri hakkında daha fazla bilgi Lucene API başvurusunda bulunabilir.
char_filter_name | char_filter_type 1 | Açıklama ve Seçenekler |
---|---|---|
html_strip | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | HTML yapılarını ayırmaya çalışan bir karakter filtresi. |
eşleme | MappingCharFilter | Eşlemeler seçeneğiyle tanımlanan eşlemeleri uygulayan bir karakter filtresi. Eşleştirme doyumsuzdur (belirli bir noktada en uzun desen eşleştirmesi kazanır). Değiştirmenin boş dize olması için izin verilir. Seçenekler mappings (type: string array) - Aşağıdaki biçimdeki eşlemelerin listesi: a=>b (karakterin a tüm oluşumları karakterle b değiştirilir). Gerekli. |
pattern_replace | PatternReplaceCharFilter | Giriş dizesindeki karakterlerin yerini alan karakter filtresi. Korunacak karakter dizilerini tanımlamak için normal bir ifade ve değiştirilecek karakterleri tanımlamak için bir değiştirme düzeni kullanır. Örneğin, giriş metni = aa bb aa bb , desen=(aa)\\\s+(bb) değiştirme=$1#$2 , sonuç = aa#bb aa#bb . Seçenekler pattern (tür: dize) - Gerekli. replacement (tür: dize) - Gerekli. |
1 Karakter Filtresi Türleri, koda #Microsoft.Azure.Search
MappingCharFilter
her zaman olarak belirtilecek #Microsoft.Azure.Search.MappingCharFilter
şekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın. char_filter_type yalnızca özelleştirilebilen filtreler için sağlandığına dikkat edin. html_strip'da olduğu gibi seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.
Belirteç Oluşturucular
Belirteç oluşturucu, sürekli metni bir tümceyi sözcüklere veya bir sözcüğü kök formlara bölme gibi bir belirteç dizisine böler.
Azure AI Search aşağıdaki listede belirteç oluşturucuları destekler. Her biri hakkında daha fazla bilgi Lucene API başvurusunda bulunabilir.
tokenizer_name | tokenizer_type 1 | Açıklama ve Seçenekler |
---|---|---|
Klasik | ClassicTokenizer | Çoğu Avrupa dili belgesini işlemek için uygun dil bilgisi tabanlı belirteç oluşturucu. Seçenekler maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. |
edgeNGram | EdgeNGramTokenizer | Bir kenardan gelen girişi verilen boyutların n gramını belirteci haline getirmektedir. Seçenekler minGram (tür: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, maksimum: 300. MinGram'dan büyük olmalıdır. tokenChars (tür: dize dizisi) - Belirteçlerde tutulacak karakter sınıfları. İzin verilen değerler: letter , digit , whitespace , , punctuation . symbol Varsayılan olarak boş bir dizidir- tüm karakterleri korur. |
keyword_v2 | KeywordTokenizerV2 | Girişin tamamını tek bir belirteç olarak yayar. Seçenekler maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 256, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. |
mektup | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni harf olmayanlara böler. 255 karakterden uzun belirteçler bölünür. |
Küçük | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni harf olmayanlara böler ve küçük harfe dönüştürür. 255 karakterden uzun belirteçler bölünür. |
microsoft_language_tokenizer | MicrosoftLanguageTokenizer | Dile özgü kuralları kullanarak metni böler. Seçenekler maxTokenLength (tür: int) - Maksimum belirteç uzunluğu, varsayılan: 255, maksimum: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. 300 karakterden uzun belirteçler önce 300 uzunluğundaki belirteçlere bölünür ve ardından bu belirteçlerin her biri maxTokenLength kümesine göre bölünür. isSearchTokenizer (tür: bool) - Arama belirteci olarak kullanılıyorsa true olarak, dizin belirteç oluşturucu olarak kullanılıyorsa false olarak ayarlayın. language (tür: dize) - Kullanılacak dil, varsayılan english . İzin verilen değerler şunlardır: bangla , bulgarian , catalan , chineseSimplified , , chineseTraditional , croatian , czech , danish , , dutch english , german kannada norwegianBokmaal french korean indonesian malayalam greek gujarati icelandic italian malay japanese hindi marathi , , , polish , punjabi russian serbianCyrillic slovenian portugueseBrazilian portuguese serbianLatin romanian , spanish swedish , , tamil telugu thai ukrainian urdu vietnamese |
microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | Dile özgü kuralları kullanarak metni böler ve sözcükleri temel formlarına küçültür. Bu belirteç oluşturucu, lemmatizasyon gerçekleştirir. Seçenekler maxTokenLength (tür: int) - Maksimum belirteç uzunluğu, varsayılan: 255, maksimum: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. 300 karakterden uzun belirteçler önce 300 uzunluğundaki belirteçlere bölünür ve ardından bu belirteçlerin her biri maxTokenLength kümesine göre bölünür. isSearchTokenizer (tür: bool) - Arama belirteci olarak kullanılıyorsa true olarak, dizin belirteç oluşturucu olarak kullanılıyorsa false olarak ayarlayın. language (tür: dize) - Kullanılacak dil, varsayılan english . İzin verilen değerler şunlardır: arabic , bangla , bulgarian , catalan , croatian , , czech , danish , dutch , english , , estonian , finnish , greek lithuanian hebrew gujarati hungarian latvian malay icelandic hindi indonesian german french italian kannada , norwegianBokmaal portuguese malayalam portugueseBrazilian polish punjabi romanian marathi russian , serbianLatin serbianCyrillic , , slovak , , ukrainian turkish slovenian spanish swedish tamil telugu urdu |
nGram | NGramTokenizer | Girişi verilen boyutların n gramını belirteci haline getirmektedir. Seçenekler minGram (tür: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, maksimum: 300. MinGram'dan büyük olmalıdır. tokenChars (tür: dize dizisi) - Belirteçlerde tutulacak karakter sınıfları. İzin verilen değerler: letter , digit , whitespace , punctuation , symbol . Varsayılan olarak boş bir dizidir- tüm karakterleri korur. |
path_hierarchy_v2 | PathHierarchyTokenizerV2 | Yol benzeri hiyerarşiler için belirteç oluşturucu. Seçenekler sınırlayıcı (tür: dize) - Varsayılan: '/. replace (tür: dize) - Ayarlanırsa sınırlayıcı karakterini değiştirir. Varsayılan olarak sınırlayıcının değeriyle aynıdır. maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 300, en fazla: 300. maxTokenLength değerinden uzun yollar yoksayılır. reverse (tür: bool) - True ise, ters sırada belirteç oluşturur. Varsayılan: false. skip (tür: bool) - Atlanması gereken ilk belirteçler. Varsayılan değer 0’dır. |
desen | PatternTokenizer | Bu belirteç oluşturucu, farklı belirteçler oluşturmak için regex desen eşleştirmesini kullanır. Seçenekler pattern (tür: dize) - Belirteç ayırıcılarını eşleştirmek için normal ifade deseni. Varsayılan değer, sözcük olmayan karakterlerle eşleşen şeklindedir \W+ . flags (tür: dize) - Normal ifade bayrakları. Varsayılan değer boş bir dizedir. İzin verilen değerler: CANON_EQ, CASE_INSENSITIVE, COMMENTS, DOTALL, LITERAL, MULTILINE, UNICODE_CASE, UNIX_LINES group (tür: int) - Belirteçlere ayıklanması gereken grup. Varsayılan değer -1 'dir (bölünmüş). |
standard_v2 | StandardTokenizerV2 | Unicode Metin Kesimleme kurallarından sonra metni keser. Seçenekler maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. |
uax_url_email | UaxUrlEmailTokenizer | Url'leri ve e-postaları tek bir belirteç olarak belirteçler. Seçenekler maxTokenLength (tür: int) - En fazla belirteç uzunluğu. Varsayılan: 255, en fazla: 300. Uzunluk üst sınırından uzun olan belirteçler bölünür. |
Boşluk | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Metni boşlukta böler. 255 karakterden uzun belirteçler bölünür. |
1 Belirteci Türleri, kodda #Microsoft.Azure.Search
ClassicTokenizer
her zaman olarak #Microsoft.Azure.Search.ClassicTokenizer
belirtilecek şekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın. tokenizer_type yalnızca özelleştirilebilen belirteç oluşturucular için sağlandığına dikkat edin. Harf belirteci gibi hiçbir seçenek yoksa, ilişkili #Microsoft.Azure.Search türü yoktur.
Belirteç filtreleri
Belirteç filtresi, belirteç oluşturucu tarafından oluşturulan belirteçleri filtrelemek veya değiştirmek için kullanılır. Örneğin, tüm karakterleri küçük harfe dönüştüren küçük harfli bir filtre belirtebilirsiniz. Özel çözümleyicide birden çok belirteç filtreniz olabilir. Belirteç filtreleri listelendikleri sırayla çalışır.
Aşağıdaki tabloda Apache Lucene kullanılarak uygulanan belirteç filtreleri Lucene API belgelerine bağlıdır.
token_filter_name | token_filter_type 1 | Açıklama ve Seçenekler |
---|---|---|
arabic_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Ortografiyi normalleştirmek için Arapça normalleştiriciyi uygulayan bir belirteç filtresi. |
Kesme işareti | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Kesme işaretinden sonraki tüm karakterleri (kesme işareti de dahil) siler. |
asciifolding | AsciiFoldingTokenFilter | İlk 127 ASCII karakterde ( Basic Latin Unicode bloğu) yer almayan alfabetik, sayısal ve simgesel Unicode karakterlerini varsa, ASCII eşdeğerlerine dönüştürür.Seçenekler preserveOriginal (tür: bool) - True ise, özgün belirteç korunur. Varsayılan değer false. |
cjk_bigram | CjkBigramTokenFilter | StandardTokenizer'dan oluşturulan CJK terimlerinin büyük değerlerini oluşturur. Seçenekler ignoreScripts (tür: dize dizisi) - Yoksaymak için betikler. İzin verilen değerler şunlardır: han , hiragana , katakana , hangul . Varsayılan değer boş bir listedir.outputUnigrams (tür: bool) - Her zaman hem tek birimlerin hem de büyük harflerin çıkışını almak istiyorsanız true olarak ayarlayın. Varsayılan değer false. |
cjk_width | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | CJK genişlik farklarını normalleştirir. Tam genişlikli ASCII çeşitlerini eşdeğer temel latin ve yarı genişlikli Katakana varyantlarına eşdeğer kanaya katlar. |
Klasik | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | İngiliz sahipliklerini ve noktaları kısaltmalardan kaldırır. |
common_grams | CommonGramTokenFilter | Dizin oluştururken sık karşılaşılan terimler için bigrams oluşturun. Tek terimler de dizine eklenir ve bigram'lar yer paylaşımlı olur. Seçenekler commonWords (tür: dize dizisi) - Ortak sözcükler kümesi. Varsayılan değer boş bir listedir. Gerekli. ignoreCase (tür: bool) - True ise, eşleştirme büyük/küçük harfe duyarlı değildir. Varsayılan değer false. queryMode (tür: bool) - Büyük harfler oluşturur ve ardından ortak sözcükleri ve tek terimleri ve ardından ortak bir sözcüğü kaldırır. Varsayılan değer false. |
dictionary_decompounder | DictionaryDecompounderTokenFilter | Birçok Almanca dilinde bulunan bileşik sözcükleri ayrıştırıyor. Seçenekler wordList (tür: dize dizisi) - Eşleşecek sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli. minWordSize (tür: int) - Yalnızca bundan daha uzun sözcükler işlenir. Varsayılan 5'dir. minSubwordSize (tür: int) - Yalnızca bundan daha uzun alt sözler çıkarılır. Varsayılan 2'dir. maxSubwordSize (tür: int) - Yalnızca bundan kısa alt sözler çıkarılır. Varsayılan değer 15’tir. onlyLongestMatch (tür: bool) - Çıktıya yalnızca en uzun eşleşen alt sözcüğü ekleyin. Varsayılan değer false. |
edgeNGram_v2 | EdgeNGramTokenFilterV2 | Giriş belirtecinin önünden veya arkasından başlayarak verilen boyutların n gramını oluşturur. Seçenekler minGram (tür: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, en fazla 300. MinGram'dan büyük olmalıdır. side (tür: dize) - N-gram girişin hangi tarafından oluşturulması gerektiğini belirtir. İzin verilen değerler: front , back |
elision | ElisionTokenFilter | İlanları kaldırır. Örneğin, l'avion (düzlem) (düzlem) olarak avion dönüştürülür.Seçenekler articles (tür: dize dizisi) - Kaldırılacak bir makale kümesi. Varsayılan değer boş bir listedir. Ayarlanmış makale listesi yoksa, varsayılan olarak tüm Fransızca makaleler kaldırılır. |
german_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Almanca karakterleri, German2 kartopu algoritmasının buluşsal yöntemlerine göre normalleştirir. |
hindi_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Yazım varyasyonlarındaki bazı farklılıkları kaldırmak için Hintçe metinleri normalleştirir. |
indic_normalization | IndicNormalizationTokenFilter | Hint dillerindeki metnin Unicode gösterimini normalleştirir. |
tutmak | KeepTokenFilter | Belirteçleri yalnızca belirtilen sözcük listesinde yer alan metinle tutan bir belirteç filtresi. Seçenekler keepWords (tür: dize dizisi) - Tutulacak sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli. keepWordsCase (tür: bool) - True ise, önce tüm sözcükleri küçük harfle yazın. Varsayılan değer false. |
keyword_marker | KeywordMarkerTokenFilter | Terimleri anahtar sözcük olarak işaretler. Seçenekler anahtar sözcükler (tür: dize dizisi) - Anahtar sözcük olarak işaretlenecek sözcüklerin listesi. Varsayılan değer boş bir listedir. Gerekli. ignoreCase (tür: bool) - True ise, önce tüm sözcükleri küçük harfle yazın. Varsayılan değer false. |
keyword_repeat | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Gelen her belirteci bir kez anahtar sözcük olarak, bir kez de anahtar sözcük olmayan olarak yayar. |
kstem | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | İngilizce için yüksek performanslı kstem bir filtre. |
length | LengthTokenFilter | Çok uzun veya çok kısa sözcükleri kaldırır. Seçenekler min (tür: int) - Minimum sayı. Varsayılan: 0, en fazla: 300. max (tür: int) - Maksimum sayı. Varsayılan: 300, en fazla: 300. |
sınır | Microsoft.Azure.Search.LimitTokenFilter | Dizin oluşturma sırasında belirteç sayısını sınırlar. Seçenekler maxTokenCount (tür: int) - Üretilmesi gereken en fazla belirteç sayısı. Varsayılan değer 1'dir. consumeAllTokens (tür: bool) - maxTokenCount'a ulaşılsa bile girişten gelen tüm belirteçlerin kullanılması gerekip gerekmediği. Varsayılan değer false. |
Küçük | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç metnini küçük harfe göre normalleştirir. |
nGram_v2 | NGramTokenFilterV2 | Verilen boyutların n gramını oluşturur. Seçenekler minGram (tür: int) - Varsayılan: 1, maksimum: 300. maxGram (tür: int) - Varsayılan: 2, en fazla 300. MinGram'dan büyük olmalıdır. |
pattern_capture | PatternCaptureTokenFilter | Java regexes kullanarak bir veya daha fazla desendeki her yakalama grubu için bir tane olmak üzere birden çok belirteç yayar. Seçenekler patterns (tür: dize dizisi) - Her belirteçle eşleşecek desenlerin listesi. Gerekli. preserveOriginal (tür: bool) - Desenlerden biri eşleşse bile özgün belirteci döndürmek için true olarak ayarlayın, varsayılan: true |
pattern_replace | PatternReplaceTokenFilter | Eşleşme oluşumlarını belirtilen değiştirme dizesiyle değiştirerek akıştaki her belirteç için bir desen uygulayan bir belirteç filtresi. Seçenekler pattern (tür: dize) - Gerekli. replacement (tür: dize) - Gerekli. |
persian_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Farsça için normalleştirme uygular. |
Fonetik | PhoneticTokenFilter | 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: , , , , , caverphone1 , , caverphone2 , haasePhonetik . beiderMorse cologne koelnerPhonetik nysiis refinedSoundex soundex doubleMetaphone metaphone Varsayılan: metaphone . Varsayılan, meta telefondur.Daha fazla bilgi için bkz . kodlayıcı . replace (tür: bool) - Kodlanmış belirteçlerin özgün belirteçlerin yerini alması gerekiyorsa true, eş anlamlı olarak eklenmesi gerekiyorsa false. Varsayılan değer true'dur. |
porter_stem | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Porter kök oluşturma algoritmasına göre belirteç akışını dönüştürür. |
ters çevir | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteç dizesini tersine çevirir. |
scandinavian_normalization | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Değiştirilebilir İskandinav karakterlerinin kullanımını normalleştirir. |
scandinavian_folding | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | İskandinav karakterlerini åÅäæÄÆ içine a ve öÖøØ içine katlar o . Ayrıca , , oe ae ao ve çift sesli aa harf kullanımına karşı ayrımcılığa neden olur ve oo yalnızca ilkini bırakır. |
Shingle | ShingleTokenFilter | Belirteç birleşimlerini tek bir belirteç olarak oluşturur. Seçenekler maxShingleSize (tür: int) - Varsayılan değer: 2. minShingleSize (tür: int) - Varsayılan değer: 2. outputUnigrams (tür: bool) - true ise, çıkış akışı hem giriş belirteçlerini (tek birimleri) hem de shingle'leri içerir. Varsayılan değer true'dur. outputUnigramsIfNoShingles (tür: bool) - True ise, kullanılabilir bir zona olmadığında outputUnigrams==false davranışını geçersiz kılın. Varsayılan değer false. tokenSeparator (tür: dize) - Shingle oluşturmak için bitişik belirteçleri birleştirirken kullanılacak dize. Varsayılan değer, tek bir boş alantır . filterToken (tür: dize) - Belirteci olmayan her konum için eklenecek dize. Varsayılan değer: _ . |
Kartopu | SnowballTokenFilter | Kartopu Belirteç Filtresi. Seçenekler language (tür: dize) - İzin verilen değerler şunlardır: armenian , basque , catalan , danish , dutch , english , french german2 finnish german , , hungarian , italian , , kp , , lovins , norwegian , , romanian portuguese russian spanish swedish porter turkish |
sorani_normalization | SoraniNormalizationTokenFilter | Metnin Unicode gösterimini Sorani normalleştirir.Seçenekler Yok. |
Stemmer | StemmerTokenFilter | Dile özgü gövde filtresi. Seçenekler language (tür: dize) - İzin verilen değerler şunlardır: - arabic - armenian - basque - brazilian - bulgarian - catalan - czech - danish - dutch - dutchKp - english - lightEnglish - minimalEnglish - possessiveEnglish - porter2 - lovins - finnish - lightFinnish - french - lightFrench - minimalFrench - galician - minimalGalician - german - german2 - lightGerman - minimalGerman - greek - hindi - hungarian - lightHungarian - indonesian - irish - italian - lightItalian - sorani - latvian - norwegian - lightNorwegian - minimalNorwegian - lightNynorsk - minimalNynorsk - portuguese - lightPortuguese - minimalPortuguese - portugueseRslp - romanian - russian - lightRussian - spanish - lightSpanish - swedish - lightSwedish - turkish |
stemmer_override | StemmerOverrideTokenFilter | Sözlük kaynaklı terimler anahtar sözcük olarak işaretlenir ve bu da zincirin köklenmesini önler. Herhangi bir köklendirme filtresinin önüne yerleştirilmelidir. Seçenekler rules (tür: dize dizisi) - Aşağıdaki biçimdeki word => stem kuralların köklerini oluşturma örneğin ran => run . Varsayılan değer boş bir listedir. Gerekli. |
stopwords | StopwordsTokenFilter | Belirteç akışından durdurma sözcüklerini kaldırır. Varsayılan olarak, filtre İngilizce için önceden tanımlanmış bir durdurma sözcüğü listesi kullanır. Seçenekler stopwords (tür: dize dizisi) - Stopwords listesi. StopwordsList belirtildiyse belirtilemiyor. stopwordsList (tür: dize) - Önceden tanımlanmış bir stopword listesi. Belirtildiyse stopwords belirtilemiyor. İzin verilen değerler şunlardır:, , , , brazilian , bulgarian , , dutch hungarian greek hindi catalan german czech finnish french english danish indonesian irish galician , italian , latvian , thai spanish sorani swedish portuguese russian romanian turkish norwegian persian varsayılan: . english basque armenian arabic Belirtildiyse stopwords belirtilemiyor. ignoreCase (tür: bool) - True ise, önce tüm sözcükler küçük harfle yazılır. Varsayılan değer false. removeTrailing (tür: bool) - True ise, bir durdurma sözcüğüyse son arama terimini yoksayın. Varsayılan değer true'dur. |
Eşanlamlı | SynonymTokenFilter | Belirteç akışındaki tek veya çok sözcüklü eş anlamlılarla eşleşir. Seçenekler eş anlamlılar (tür: dize dizisi) - Gerekli. Aşağıdaki iki biçimden birinde eş anlamlıların listesi: -inanılmaz, inanılmaz, muhteşem => şaşırtıcı - => simgesinin sol tarafındaki tüm terimler sağ tarafındaki tüm terimlerle değiştirilir. -inanılmaz, inanılmaz, muhteşem, şaşırtıcı - Eşdeğer sözcüklerin virgülle ayrılmış bir listesi. Bu listenin yorumlandığı şekli değiştirmek için genişletme seçeneğini ayarlayın. ignoreCase (tür: bool) - Eşleştirme için büyük/küçük harf katlama girişi. Varsayılan değer false. expand (tür: bool) - True ise, eş anlamlılar listesindeki tüm sözcükler (=> gösterimi kullanılmazsa) birbiriyle eşler. Aşağıdaki liste: inanılmaz, inanılmaz, muhteşem, şaşırtıcı eşdeğerdir: inanılmaz, inanılmaz, muhteşem, şaşırtıcı => inanılmaz, inanılmaz, inanılmaz, muhteşem, şaşırtıcı - False ise, aşağıdaki liste: inanılmaz, inanılmaz, muhteşem, şaşırtıcı eşdeğerdir: inanılmaz, inanılmaz, muhteşem, şaşırtıcı => inanılmaz. |
süslemek | (tür yalnızca seçenekler kullanılabilir olduğunda geçerlidir) | Belirteçlerden öndeki ve sondaki boşlukları kırpılır. |
truncate | TruncateTokenFilter | Terimleri belirli bir uzunlukta kısaltın. Seçenekler length (tür: int) - Varsayılan: 300, maksimum: 300. Gerekli. |
unique | UniqueTokenFilter | Önceki belirteçle aynı metindeki belirteçleri filtreler. Seçenekler onlyOnSamePosition (tür: bool) - Ayarlanırsa, yinelenenleri yalnızca aynı konumda kaldırın. Varsayılan değer true'dur. |
büyük 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 Azure Search . Varsayılan değer true'dur.generateNumberParts (tür: bool) - Sayı alt kelimelerinin oluşturulmasına neden olur. Varsayılan değer true'dur. catenateWords (tür: bool) - Sözcük bölümlerinin en fazla çalıştırılmasının katılabilmesine neden olur, örneğin Azure-Search olur AzureSearch . Varsayılan değer false.catenateNumbers (tür: bool) - Sayı parçalarının en fazla çalıştırılmasına neden olur, örneğin 1-2 olur 12 . Varsayılan değer false.catenateAll (tür: bool) - Tüm alt parçaların kataliz edilmesine neden olur, örneğin Azure-Search-1 olur AzureSearch1 . Varsayılan değer false.splitOnCaseChange (tür: bool) - True ise caseChange üzerindeki sözcükleri böler, örneğin AzureSearch olur Azure Search . 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 Azure 1 Search . Varsayılan değer true'dur.stemEnglishPossessive (tür: bool) - Her alt sözcük için sondakinin 's kaldırılmasına neden olur. Varsayılan değer true'dur.protectedWords (tür: dize dizisi) - Sınırlandırılmaktan korunmak için belirteçler. Varsayılan değer boş bir listedir. |
1 Belirteç Filtresi Türleri, kodda #Microsoft.Azure.Search
ArabicNormalizationTokenFilter
her zaman olarak #Microsoft.Azure.Search.ArabicNormalizationTokenFilter
belirtilecek şekilde ön eklenir. Tablonun genişliğini azaltmak için ön eki kaldırdık, ancak lütfen kodunuza eklemeyi unutmayın.