إضافة محللات مخصصة إلى حقول السلسلة في فهرس Azure الذكاء الاصطناعي Search
المحلل المخصص هو تركيبة معرفة من قبل المستخدم من رمز مميز واحد، وعامل تصفية رمز مميز واحد أو أكثر، وعامل تصفية واحد أو أكثر من عوامل تصفية الأحرف. يتم تحديد محلل مخصص داخل فهرس بحث، ثم تتم الإشارة إليه بالاسم في تعريفات الحقول التي تتطلب تحليلا مخصصا. يتم استدعاء محلل مخصص على أساس كل حقل. ستحدد السمات الموجودة في الحقل ما إذا كان يستخدم للفهرسة أو الاستعلامات أو كليهما.
في محلل مخصص، تقوم عوامل تصفية الأحرف بإعداد نص الإدخال قبل معالجته بواسطة الرمز المميز (على سبيل المثال، إزالة العلامات). بعد ذلك، يقسم الرمز المميز النص إلى رموز مميزة. وأخيرا، تقوم عوامل تصفية الرمز المميز بتعديل الرموز المميزة المنبعثة من الرمز المميز. للحصول على المفاهيم والأمثلة، راجع Analyzers في Azure الذكاء الاصطناعي Search.
لماذا تستخدم محلل مخصص؟
يمنحك المحلل المخصص التحكم في عملية تحويل النص إلى رموز مميزة قابلة للفهرسة وقابلة للبحث من خلال السماح لك باختيار أنواع التحليل أو التصفية التي سيتم استدعاؤها، وترتيب حدوثها.
قم بإنشاء محلل مخصص وتعيينه إذا لم يكن أي من محللات اللغة الافتراضية (Standard Lucence) أو المضمنة أو محللات اللغة كافيا لاحتياجاتك. يمكنك أيضا إنشاء محلل مخصص إذا كنت تريد استخدام محلل مضمن مع خيارات مخصصة. على سبيل المثال، إذا كنت تريد تغيير maxTokenLength على Standard، يمكنك إنشاء محلل مخصص، باسم معرف من قبل المستخدم، لتعيين هذا الخيار.
تتضمن السيناريوهات التي يمكن أن تكون فيها المحللات المخصصة مفيدة ما يلي:
استخدام عوامل تصفية الأحرف لإزالة علامات HTML قبل رمز إدخالات النص، أو استبدال أحرف أو رموز معينة.
الهاتف البحث. أضف عامل تصفية صوتي لتمكين البحث استنادا إلى كيفية صوت الكلمة، وليس كيفية كتابتها.
تعطيل التحليل المعجمي. استخدم محلل الكلمة الأساسية لإنشاء حقول قابلة للبحث لم يتم تحليلها.
بحث سريع عن البادئة/اللاحقة. أضف عامل تصفية الرمز المميز ل Edge N-gram لفهرسة بادئات الكلمات لتمكين مطابقة البادئة السريعة. ادمجه مع عامل تصفية الرمز المميز العكسي للقيام بمطابقة اللاحقة.
الرمز المميز المخصص. على سبيل المثال، استخدم Whitespace tokenizer لتقسيم الجمل إلى رموز مميزة باستخدام المسافة البيضاء كمحدد
طي ASCII. أضف عامل تصفية طي ASCII القياسي لتطبيع علامات التشكيل مثل ö أو ê في مصطلحات البحث.
إشعار
لا يتم كشف المحللات المخصصة في مدخل Microsoft Azure. الطريقة الوحيدة لإضافة محلل مخصص هي من خلال التعليمات البرمجية التي تحدد فهرسا.
إنشاء محلل مخصص
لإنشاء محلل مخصص، حدده في analyzers
قسم الفهرس في وقت التصميم، ثم قم بالرجوع إليه في الحقول القابلة Edm.String
للبحث باستخدام analyzer
الخاصية أو indexAnalyzer
الإقران و searchAnalyzer
.
يتضمن تعريف المحلل اسما ونوعا وعامل تصفية أو أكثر من عوامل تصفية الأحرف، ورمز مميز واحد كحد أقصى، وعامل تصفية رمز مميز واحد أو أكثر لمعالجة ما بعد الرمز المميز. يتم تطبيق عوامل تصفية الأحرف قبل الرمز المميز. يتم تطبيق عوامل تصفية الرمز المميز وعوامل تصفية الأحرف من اليسار إلى اليمين.
يجب أن تكون الأسماء في محلل مخصص فريدة ولا يمكن أن تكون مماثلة لأي من المحللات المضمنة أو الرموز المميزة أو عوامل تصفية الرمز المميز أو عوامل تصفية الأحرف. يجب أن يحتوي فقط على أحرف أو أرقام أو مسافات أو شرط أو تسطير أسفل السطر، ويمكن أن يبدأ وينتهي بأحرف أبجدية رقمية فقط، ويقتصر على 128 حرفا.
يجب أن يكون النوع #Microsoft.Azure.Search.CustomAnalyzer.
charFilters
يمكن أن يكون عامل تصفية واحد أو أكثر من عوامل تصفية الأحرف، تتم معالجتها قبل الرمز المميز، بالترتيب المقدم. تحتوي بعض عوامل تصفية الأحرف على خيارات، والتي يمكن تعيينهاcharFilters
في مقطع. عوامل تصفية الأحرف اختيارية.tokenizer
هو بالضبط رمز مميز واحد. مطلوب قيمة. إذا كنت بحاجة إلى أكثر من رمز مميز واحد، يمكنك إنشاء محللات مخصصة متعددة وتعيينها على أساس كل حقل في مخطط الفهرس.tokenFilters
يمكن أن يكون عامل تصفية واحد أو أكثر من عوامل تصفية الرمز المميز، تتم معالجتها بعد الرمز المميز، بالترتيب المقدم. بالنسبة إلى عوامل تصفية الرمز المميز التي تحتوي على خيارات، أضف قسماtokenFilter
لتحديد التكوين. عوامل تصفية الرمز المميز اختيارية.
يجب ألا تنتج المحللات رموزا مميزة أطول من 300 حرف، وإلا ستفشل الفهرسة. لاقتطاع الرمز المميز الطويل أو لاستبعاده، استخدم TruncateTokenFilter و LengthTokenFilter على التوالي. راجع عوامل تصفية الرمز المميز للرجوع إليها.
"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,
...
}
]
ضمن تعريف الفهرس، يمكنك وضع هذا القسم في أي مكان في نص طلب إنشاء فهرس ولكن عادة ما يذهب في النهاية:
{
"name": "name_of_index",
"fields": [ ],
"suggesters": [ ],
"scoringProfiles": [ ],
"defaultScoringProfile": (optional) "...",
"corsOptions": (optional) { },
"analyzers":(optional)[ ],
"charFilters":(optional)[ ],
"tokenizers":(optional)[ ],
"tokenFilters":(optional)[ ]
}
تعريف المحلل هو جزء من الفهرس الأكبر. تتم إضافة تعريفات عوامل تصفية الأحرف والرموز المميزة وعوامل تصفية الرمز المميز إلى الفهرس فقط إذا كنت تقوم بتعيين خيارات مخصصة. لاستخدام عامل تصفية أو رمز مميز موجود كما هو، حدده بالاسم في تعريف المحلل. لمزيد من المعلومات، راجع إنشاء فهرس (REST). لمزيد من الأمثلة، راجع إضافة محللات في Azure الذكاء الاصطناعي Search.
اختبار المحللات المخصصة
يمكنك استخدام Test Analyzer (REST) لمعرفة كيفية تقسيم محلل النص المحدد إلى رموز مميزة.
Request
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"
}
استجابة
{
"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
}
]
}
تحديث المحللات المخصصة
بمجرد تعريف محلل أو رمز مميز أو عامل تصفية رمز مميز أو عامل تصفية أحرف، لا يمكن تعديله. يمكن إضافة جديدة إلى فهرس موجود فقط إذا تم تعيين العلامة allowIndexDowntime
إلى true في طلب تحديث الفهرس:
PUT https://[search service name].search.windows.net/indexes/[index name]?api-version=[api-version]&allowIndexDowntime=true
تأخذ هذه العملية الفهرس دون اتصال لبضع ثوان على الأقل، مما يؤدي إلى فشل طلبات الفهرسة والاستعلام. يمكن أن يضعف أداء الفهرس وكتابته لعدة دقائق بعد تحديث الفهرس، أو أطول للفهارس الكبيرة جدا، ولكن هذه التأثيرات مؤقتة ويتم حلها في نهاية المطاف من تلقاء نفسها.
التحليلات المدمجة
إذا كنت ترغب في استخدام محلل مضمن مع خيارات مخصصة، فإن إنشاء محلل مخصص هو الآلية التي تحدد من خلالها هذه الخيارات. في المقابل، لاستخدام محلل مضمن كما هو، تحتاج ببساطة إلى الرجوع إليه بالاسم في تعريف الحقل.
analyzer_name | analyzer_type 1 | الوصف والخيارات |
---|---|---|
الكلمه الاساسيه | (ينطبق النوع فقط عند توفر الخيارات) | يعامل المحتوى بأكمله لحقل كرمز مميز واحد. وهذا مفيد لبيانات مثل الرموز البريدية والمعرفات وبعض أسماء المنتجات. |
نمط | PatternAnalyzer | يفصل النص بمرونة إلى مصطلحات عبر نمط تعبير عادي. الخيارات أحرف صغيرة (النوع: bool) - يحدد ما إذا كانت المصطلحات صغيرة أم لا. الافتراضي هو صواب. نمط (النوع: سلسلة) - نمط تعبير عادي لمطابقة فواصل الرمز المميز. الافتراضي هو \W+ ، الذي يطابق الأحرف غير الكلمات. علامات (النوع: سلسلة) - علامات التعبير العادية. الافتراضي هو سلسلة فارغة. القيم المسموح بها: CANON_EQ، CASE_INSENSITIVE، والتعليقات، وDOTALL، والحرفية، ومتعددة الخطوط، UNICODE_CASE، UNIX_LINES كلمات التوقف (النوع: مصفوفة السلسلة) - قائمة بكلمات التوقف. الإعداد الافتراضي هو قائمة فارغة. |
بسيطة | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير أحرف ويحولها إلى أحرف صغيرة. |
القياسيه (يشار إليه أيضا باسم standard.lucene) |
StandardAnalyzer | محلل Lucene القياسي، يتكون من الرمز المميز القياسي، وعامل تصفية الأحرف الصغيرة، وعامل تصفية الإيقاف. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي هو 255. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. الحد الأقصى لطول الرمز المميز الذي يمكن استخدامه هو 300 حرف. كلمات التوقف (النوع: مصفوفة السلسلة) - قائمة بكلمات التوقف. الإعداد الافتراضي هو قائمة فارغة. |
standardasciifolding.lucene | (ينطبق النوع فقط عند توفر الخيارات) | محلل قياسي مع عامل تصفية طي Ascii. |
وقف | StopAnalyzer | يقسم النص على غير الأحرف، ويطبق عوامل تصفية الرمز المميز للأحرف الصغيرة والنهاية. الخيارات كلمات التوقف (النوع: مصفوفة السلسلة) - قائمة بكلمات التوقف. الإعداد الافتراضي هو قائمة معرفة مسبقا للغة الإنجليزية. |
بيضاء | (ينطبق النوع فقط عند توفر الخيارات) | محلل يستخدم رمز المسافة البيضاء المميز. يتم تقسيم الرموز المميزة التي يزيد طولها عن 255 حرفا. |
1 دائما ما تكون أنواع المحلل مسبوقة في التعليمات البرمجية بحيث #Microsoft.Azure.Search
PatternAnalyzer
يتم تحديدها فعليا على أنها #Microsoft.Azure.Search.PatternAnalyzer
. لقد قمنا بإزالة بادئة الإيجاز، ولكن البادئة مطلوبة في التعليمات البرمجية الخاصة بك.
يتم توفير analyzer_type فقط للمحللات التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع محلل الكلمة الأساسية، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
عوامل تصفية الأحرف
تضيف عوامل تصفية الأحرف المعالجة قبل أن تصل السلسلة إلى الرمز المميز.
يدعم Azure الذكاء الاصطناعي Search عوامل تصفية الأحرف في القائمة التالية. يمكن العثور على مزيد من المعلومات حول كل واحد في مرجع Lucene API.
char_filter_name | char_filter_type 1 | الوصف والخيارات |
---|---|---|
html_strip | (ينطبق النوع فقط عند توفر الخيارات) | عامل تصفية char يحاول تجريد بنيات HTML. |
تعيين | MappingCharFilter | عامل تصفية الأحرف الذي يطبق التعيينات المعرفة باستخدام خيار التعيينات. المطابقة جشعة (أطول مطابقة للنمط في نقطة معينة تفوز). يسمح أن يكون الاستبدال السلسلة الفارغة. الخيارات التعيينات (النوع: صفيف السلسلة) - قائمة بالتعيينات بالتنسيق التالي: a=>b (يتم استبدال كافة تكرارات الحرف a بالحرف b ). مطلوب. |
pattern_replace | PatternReplaceCharFilter | عامل تصفية حرف يستبدل الأحرف في سلسلة الإدخال. يستخدم تعبيرا عاديا لتحديد تسلسلات الأحرف للحفاظ على نمط الاستبدال وتحديد الأحرف المراد استبدالها. على سبيل المثال، نص الإدخال = aa bb aa bb ، النمط =(aa)\\\s+(bb) الاستبدال =$1#$2 ، النتيجة = aa#bb aa#bb . الخيارات نمط (النوع: سلسلة) - مطلوب. الاستبدال (النوع: سلسلة) - مطلوب. |
1 دائما ما تكون أنواع عوامل تصفية الأحرف مسبوقة في التعليمات البرمجية بحيث MappingCharFilter
#Microsoft.Azure.Search
يتم تحديدها فعليا على أنها #Microsoft.Azure.Search.MappingCharFilter
. لقد قمنا بإزالة البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية الخاصة بك. لاحظ أنه يتم توفير char_filter_type فقط لعوامل التصفية التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع html_strip، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
tokenizer
يقسم الرمز المميز النص المستمر إلى سلسلة من الرموز المميزة، مثل تقسيم الجملة إلى كلمات، أو كلمة إلى أشكال جذر.
يدعم Azure الذكاء الاصطناعي Search الرموز المميزة في القائمة التالية. يمكن العثور على مزيد من المعلومات حول كل واحد في مرجع Lucene API.
tokenizer_name | tokenizer_type 1 | الوصف والخيارات |
---|---|---|
الكلاسيكيه | ClassicTokenizer | الرمز المميز المستند إلى التدقيق النحوي المناسب لمعالجة معظم مستندات اللغة الأوروبية. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
مخطط edgeNGram | EdgeNGramTokenizer | رمز الإدخال من حافة إلى n-غرام من حجم معين (أحجام). الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى: 300. يجب أن يكون أكبر من minGram. tokenChars (النوع: مصفوفة السلسلة) - فئات الأحرف للاحتفاظ بها في الرموز المميزة. القيم المسموح بها: letter , digit , whitespace , punctuation , symbol . الإعدادات الافتراضية لصفيف فارغ - يحتفظ بجميع الأحرف. |
keyword_v2 | KeywordTokenizerV2 | يصدر الإدخال بأكمله كرمز مميز واحد. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 256، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
رساله | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير أحرف. يتم تقسيم الرموز المميزة التي يزيد طولها عن 255 حرفا. |
صغيره | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير أحرف ويحولها إلى أحرف صغيرة. يتم تقسيم الرموز المميزة التي يزيد طولها عن 255 حرفا. |
microsoft_language_tokenizer | MicrosoftLanguageTokenizer | يقسم النص باستخدام قواعد خاصة باللغة. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز، الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. يتم أولا تقسيم الرموز المميزة التي يزيد طولها عن 300 حرف إلى رموز مميزة بطول 300 ثم يتم تقسيم كل من هذه الرموز المميزة استنادا إلى مجموعة maxTokenLength. isSearchTokenizer (النوع: bool) - تعيين إلى true إذا تم استخدامه كرمز مميز للبحث، قم بتعيين إلى false إذا تم استخدامه كرمز الفهرسة المميز. language (type: string) - Language to use, default english . تتضمن القيم المسموح بها ما يلي: 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 | يقسم النص باستخدام قواعد خاصة باللغة ويقلل الكلمات إلى نماذجها الأساسية. يقوم هذا الرمز المميز بإجراء lemmatization. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز، الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. يتم أولا تقسيم الرموز المميزة التي يزيد طولها عن 300 حرف إلى رموز مميزة بطول 300 ثم يتم تقسيم كل من هذه الرموز المميزة استنادا إلى مجموعة maxTokenLength. isSearchTokenizer (النوع: bool) - تعيين إلى true إذا تم استخدامه كرمز مميز للبحث، قم بتعيين إلى false إذا تم استخدامه كرمز الفهرسة المميز. language (type: string) - Language to use, default english . تتضمن القيم المسموح بها ما يلي: 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 | رمز الإدخال في n-غرام من الحجم (الأحجام) المحدد. الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى: 300. يجب أن يكون أكبر من minGram. tokenChars (النوع: مصفوفة السلسلة) - فئات الأحرف للاحتفاظ بها في الرموز المميزة. القيم المسموح بها: letter ، digit ، whitespace ، punctuation ، . symbol الإعدادات الافتراضية لصفيف فارغ - يحتفظ بجميع الأحرف. |
path_hierarchy_v2 | PathHierarchyTokenizerV2 | الرمز المميز للتسلسلات الهرمية التي تشبه المسار. الخيارات محدد (النوع: سلسلة) - الافتراضي: '/. الاستبدال (النوع: سلسلة) - إذا تم تعيينه، يستبدل حرف المحدد. الافتراضي هو نفس قيمة المحدد. maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 300، الحد الأقصى: 300. يتم تجاهل المسارات الأطول من maxTokenLength. عكسي (النوع: bool) - إذا كان صحيحا، ينشئ رمزا مميزا بترتيب عكسي. الافتراضي: False. skip (type: bool) - الرموز المميزة الأولية للتخطي. الافتراضي هو 0. |
نمط | PatternTokenizer | يستخدم هذا الرمز المميز مطابقة نمط regex لإنشاء رموز مميزة. الخيارات نمط (النوع: سلسلة) - نمط تعبير عادي لمطابقة فواصل الرمز المميز. الافتراضي هو \W+ ، الذي يطابق الأحرف غير الكلمات. علامات (النوع: سلسلة) - علامات التعبير العادية. الافتراضي هو سلسلة فارغة. القيم المسموح بها: CANON_EQ، CASE_INSENSITIVE، والتعليقات، وDOTALL، والحرفية، ومتعددة الخطوط، UNICODE_CASE، UNIX_LINES المجموعة (النوع: int) - المجموعة التي يجب استخراجها إلى الرموز المميزة. الإعداد الافتراضي هو -1 (تقسيم). |
standard_v2 | StandardTokenizerV2 | فصل النص باتباع قواعد تجزئة نص Unicode. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
uax_url_email | UaxUrlEmailTokenizer | رمز مميز لعناوين URL ورسائل البريد الإلكتروني كرمز مميز واحد. الخيارات maxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
بيضاء | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على مسافة بيضاء. يتم تقسيم الرموز المميزة التي يزيد طولها عن 255 حرفا. |
1 دائما ما تكون أنواع الرموز المميزة مسبوقة في التعليمات البرمجية بحيث #Microsoft.Azure.Search
ClassicTokenizer
يتم تحديدها فعليا على أنها #Microsoft.Azure.Search.ClassicTokenizer
. لقد قمنا بإزالة البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية الخاصة بك. لاحظ أنه يتم توفير tokenizer_type فقط للرمايات المميزة التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع الرمز المميز للحرف، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
عوامل تصفية الرمز المميز.
يتم استخدام عامل تصفية الرمز المميز لتصفية الرموز المميزة التي تم إنشاؤها بواسطة الرمز المميز أو تعديلها. على سبيل المثال، يمكنك تحديد عامل تصفية بأحرف صغيرة يحول كافة الأحرف إلى أحرف صغيرة. يمكنك الحصول على عوامل تصفية متعددة للرمز المميز في محلل مخصص. تعمل عوامل تصفية الرمز المميز بالترتيب الذي يتم سردها به.
في الجدول أدناه، ترتبط عوامل تصفية الرمز المميز التي يتم تنفيذها باستخدام Apache Lucene بوثائق واجهة برمجة تطبيقات Lucene.
token_filter_name | token_filter_type 1 | الوصف والخيارات |
---|---|---|
arabic_normalization | (ينطبق النوع فقط عند توفر الخيارات) | عامل تصفية الرمز المميز الذي يطبق التطبيع العربي لتطبيع تقويم العظام. |
الفاصله العليا | (ينطبق النوع فقط عند توفر الخيارات) | يقوم بتعرية جميع الأحرف بعد فاصلة عليا (بما في ذلك الفاصلة العليا نفسها). |
مجلدات غير مطوية | AsciiFoldingTokenFilter | تحويل أحرف Unicode الأبجدية والرقمية والرمزية غير الموجودة في أول 127 حرفا من ASCII ( Basic Latin كتلة Unicode) إلى مكافئات ASCII الخاصة بها، إذا كانت موجودة.الخيارات preserveOriginal (النوع: bool) - إذا كان صحيحا، يتم الاحتفاظ بالرمز المميز الأصلي. القيمة الافتراضية هي false. |
cjk_bigram | CjkBigramTokenFilter | تشكل العلامات الكبيرة لمصطلحات CJK التي يتم إنشاؤها من StandardTokenizer. الخيارات ignoreScripts (النوع: مصفوفة السلسلة) - البرامج النصية التي يجب تجاهلها. تتضمن القيم المسموح بها: han ، hiragana ، ، katakana . hangul الإعداد الافتراضي هو قائمة فارغة.outputUnigrams (النوع: bool) - تعيين إلى true إذا كنت تريد دائما إخراج كل من unigrams و bigrams. القيمة الافتراضية هي false. |
cjk_width | (ينطبق النوع فقط عند توفر الخيارات) | تسوية اختلافات عرض CJK. طي متغيرات ASCII ذات العرض الكامل إلى متغيرات كاتاكانا اللاتينية ونصف العرض الأساسية المكافئة في kana المكافئة. |
الكلاسيكيه | (ينطبق النوع فقط عند توفر الخيارات) | يزيل الممتلكين الإنجليزية، والنقاط من الاختصارات. |
common_grams | CommonGramTokenFilter | إنشاء bigrams للمصطلحات التي تحدث بشكل متكرر أثناء الفهرسة. ولا تزال المصطلحات المفردة مفهرسة أيضا، مع تغليفه. الخيارات commonWords (النوع: مصفوفة السلسلة) - مجموعة الكلمات الشائعة. الإعداد الافتراضي هو قائمة فارغة. مطلوب. ignoreCase (النوع: bool) - إذا كان صحيحا، فإن المطابقة غير حساسة لحالة الأحرف. القيمة الافتراضية هي false. queryMode (النوع: bool) - ينشئ bigrams ثم يزيل الكلمات الشائعة والمصطلحات المفردة متبوعة بكلمة مشتركة. القيمة الافتراضية هي false. |
dictionary_decompounder | DictionaryDecompounderTokenFilter | يتحلل الكلمات المركبة الموجودة في العديد من اللغات الألمانية. الخيارات wordList (النوع: مصفوفة السلسلة) - قائمة الكلمات المراد مطابقتها. الإعداد الافتراضي هو قائمة فارغة. مطلوب. minWordSize (النوع: int) - ستتم معالجة الكلمات الأطول من ذلك فقط. القيمة الافتراضية هي 5. minSubwordSize (النوع: int) - سيتم إخراج الكلمات الفرعية الأطول من ذلك فقط. القيمة الافتراضية هي 2. maxSubwordSize (النوع: int) - سيتم إخراج الكلمات الفرعية الأقصر فقط من هذا. الافتراضي هو 15. onlyLongestMatch (النوع: bool) - أضف فقط أطول كلمة فرعية مطابقة للإخراج. القيمة الافتراضية هي false. |
edgeNGram_v2 | EdgeNGramTokenFilterV2 | ينشئ n-grams من الحجم (الأحجام) المحدد من البدء من الجزء الأمامي أو الخلفي من رمز الإدخال المميز. الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى 300. يجب أن يكون أكبر من minGram. side (type: string) - يحدد جانب الإدخال الذي يجب إنشاء n-gram منه. القيم المسموح بها: front ، back |
علامة الحذف | ElisionTokenFilter | يزيل الحذف. على سبيل المثال، l'avion يتم تحويل (المستوى) إلى avion (مستوى).الخيارات المقالات (النوع: مصفوفة السلسلة) - مجموعة من المقالات المراد إزالتها. الإعداد الافتراضي هو قائمة فارغة. إذا لم تكن هناك قائمة بالمقالات التي تم تعيينها، تتم إزالة جميع المقالات الفرنسية بشكل افتراضي. |
german_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع الأحرف الألمانية وفقا لاستدلال خوارزمية كرة الثلج الألمانية 2 . |
hindi_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تسوية النص باللغة الهندية لإزالة بعض الاختلافات في الاختلافات الإملائية. |
indic_normalization | IndicNormalizationTokenFilter | تطبيع تمثيل Unicode للنص باللغات الهندية. |
الحفاظ | KeepTokenFilter | عامل تصفية الرمز المميز الذي يحتفظ فقط بالرموز المميزة مع النص المضمن في قائمة محددة من الكلمات. الخيارات keepWords (النوع: مصفوفة السلسلة) - قائمة بالكلمات التي يجب الاحتفاظ بها. الإعداد الافتراضي هو قائمة فارغة. مطلوب. keepWordsCase (النوع: bool) - إذا كان صحيحا، فقل كل الكلمات أولا. القيمة الافتراضية هي false. |
keyword_marker | KeywordMarkerTokenFilter | وضع علامة على المصطلحات ككلمات أساسية. الخيارات الكلمات الأساسية (النوع: مصفوفة السلسلة) - قائمة الكلمات التي يجب وضع علامة لها ككلمات أساسية. الإعداد الافتراضي هو قائمة فارغة. مطلوب. ignoreCase (النوع: bool) - إذا كان صحيحا، فقل كل الكلمات أولا. القيمة الافتراضية هي false. |
keyword_repeat | (ينطبق النوع فقط عند توفر الخيارات) | يصدر كل رمز مميز وارد مرتين ككلمة أساسية ومرة واحدة كغير كلمة أساسية. |
kstem | (ينطبق النوع فقط عند توفر الخيارات) | عامل تصفية عالي الأداء kstem للغة الإنجليزية. |
الطول | LengthTokenFilter | إزالة الكلمات الطويلة جدا أو القصيرة جدا. الخيارات min (type: int) - الحد الأدنى للعدد. الافتراضي: 0، الحد الأقصى: 300. الحد الأقصى (النوع: int) - الحد الأقصى للعدد. الافتراضي: 300، الحد الأقصى: 300. |
حد أقصى | Microsoft.Azure.Search.LimitTokenFilter | يحد من عدد الرموز المميزة أثناء الفهرسة. الخيارات maxTokenCount (النوع: int) - الحد الأقصى لعدد الرموز المميزة المراد إنتاجها. الإعداد الافتراضي هو 1. consumeAllTokens (النوع: bool) - ما إذا كان يجب استهلاك جميع الرموز المميزة من الإدخال حتى إذا تم الوصول إلى maxTokenCount. القيمة الافتراضية هي false. |
صغيره | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع نص الرمز المميز إلى أحرف صغيرة. |
nGram_v2 | NGramTokenFilterV2 | يولد n-grams من الحجم (الأحجام) المحدد. الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى 300. يجب أن يكون أكبر من minGram. |
pattern_capture | PatternCaptureTokenFilter | يستخدم سجلات Java لإصدار رموز مميزة متعددة، واحدة لكل مجموعة التقاط في نمط واحد أو أكثر. الخيارات أنماط (النوع: مصفوفة السلسلة) - قائمة من الأنماط لمطابقتها مع كل رمز مميز. مطلوب. preserveOriginal (النوع: bool) - تعيين إلى true لإرجاع الرمز المميز الأصلي حتى إذا تطابق أحد الأنماط، الافتراضي: true |
pattern_replace | PatternReplaceTokenFilter | عامل تصفية الرمز المميز الذي يطبق نمطا على كل رمز مميز في الدفق، مع استبدال تكرارات المطابقة بسلسلة الاستبدال المحددة. الخيارات نمط (النوع: سلسلة) - مطلوب. الاستبدال (النوع: سلسلة) - مطلوب. |
persian_normalization | (ينطبق النوع فقط عند توفر الخيارات) | يطبق التطبيع على الفارسية. |
الصوتيه | الهاتف ticTokenFilter | إنشاء رموز مميزة للمطابقات الصوتية. الخيارات أداة الترميز (النوع: سلسلة) - الهاتف الترميز لاستخدامها. تتضمن القيم المسموح بها: metaphone و doubleMetaphone و soundex و refinedSoundex و caverphone1 و caverphone2 و cologne و و nysiis وbeiderMorse koelnerPhonetik haasePhonetik . افتراضي: metaphone . الافتراضي هو metaphone.راجع أداة الترميز لمزيد من المعلومات. استبدال (النوع: bool) - True إذا كان يجب أن تحل الرموز المميزة المشفرة محل الرموز المميزة الأصلية، خطأ إذا كان يجب إضافتها كمرادفات. الافتراضي هو صواب. |
porter_stem | (ينطبق النوع فقط عند توفر الخيارات) | تحويل دفق الرمز المميز وفقا لخوارزمية تفرع Porter. |
reverse | (ينطبق النوع فقط عند توفر الخيارات) | عكس سلسلة الرمز المميز. |
scandinavian_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع استخدام الأحرف الاسكندنافية القابلة للتبديل. |
scandinavian_folding | (ينطبق النوع فقط عند توفر الخيارات) | طي الأحرف åÅäæÄÆ الإسكندنافية إلى a و öÖøØ إلى o . كما أنه يميز ضد استخدام حروف العلة المزدوجة aa و ae ao oe و و oo وترك أول حرف فقط. |
لوحه خشبيه | ShingleTokenFilter | إنشاء مجموعات من الرموز المميزة كرمز مميز واحد. الخيارات maxShingleSize (النوع: int) - الإعدادات الافتراضية إلى 2. minShingleSize (النوع: int) - الإعدادات الافتراضية إلى 2. outputUnigrams (النوع: bool) - إذا كان صحيحا، يحتوي دفق الإخراج على رموز الإدخال المميزة (unigrams) بالإضافة إلى القوباء المنطقية. الافتراضي هو صواب. outputUnigramsIfNoShingles (type: bool) - إذا كان صحيحا، فتجاوز سلوك outputUnigrams==false لتلك الأوقات التي لا تتوفر فيها القوباء المنطقية. القيمة الافتراضية هي false. tokenSeparator (النوع: سلسلة) - السلسلة التي يجب استخدامها عند الانضمام إلى الرموز المميزة المجاورة لتشكيل اللمعان. الافتراضي هو مساحة فارغة واحدة . filterToken (النوع: سلسلة) - السلسلة المراد إدراجها لكل موضع لا يوجد له رمز مميز. الافتراضي هو _ . |
كره الثلج | SnowballTokenFilter | عامل تصفية الرمز المميز لكرة الثلج. الخيارات اللغة (النوع: السلسلة) - تتضمن القيم المسموح بها: armenian و catalan و و dutch danish و english hungarian finnish french italian german german2 و و kp و. spanish lovins porter swedish norwegian portuguese romanian russian basque turkish |
sorani_normalization | SoraniNormalizationTokenFilter | تسوية تمثيل Unicode للنص Sorani .الخيارات لا شيء. |
نابع | StemmerTokenFilter | عامل تصفية التفرع الخاص باللغة. الخيارات اللغة (النوع: سلسلة) - تتضمن القيم المسموح بها ما يلي: - 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 | يتم وضع علامة على أي مصطلحات تم وضع علامة عليها ككلمات أساسية في القاموس، مما يمنع النزول إلى السلسلة. يجب وضعها قبل أي عوامل تصفية متفرعة. الخيارات القواعد (النوع: مصفوفة السلسلة) - قواعد التفرع بالتنسيق word => stem التالي على سبيل المثال ran => run . الإعداد الافتراضي هو قائمة فارغة. مطلوب. |
كلمات التوقف | StopwordsTokenFilter | إزالة كلمات التوقف من دفق الرمز المميز. بشكل افتراضي، يستخدم عامل التصفية قائمة كلمات إيقاف معرفة مسبقا للغة الإنجليزية. الخيارات كلمات التوقف (النوع: مصفوفة السلسلة) - قائمة بكلمات التوقف. لا يمكن تحديد ما إذا تم تحديد stopwordsList. stopwordsList (النوع: سلسلة) - قائمة محددة مسبقا من كلمات التوقف. لا يمكن تحديد ما إذا كان stopwords محددا. تتضمن القيم المسموح بها:arabic و armenian و brazilian basque وbulgarian catalan english english turkish finnish dutch persian french portuguese galician romanian swedish norwegian thai spanish sorani russian latvian italian irish indonesian hindi german hungarian czech danish greek . لا يمكن تحديد ما إذا كان stopwords محددا. ignoreCase (النوع: bool) - إذا كان صحيحا، تكون جميع الكلمات صغيرة أولا. القيمة الافتراضية هي false. removeTrailing (النوع: bool) - إذا كان صحيحا، تجاهل مصطلح البحث الأخير إذا كانت كلمة إيقاف. الافتراضي هو صواب. |
مرادف | SynonymTokenFilter | يطابق مرادفات مفردة أو متعددة الكلمات في دفق الرمز المميز. الخيارات المرادفات (النوع: مصفوفة السلسلة) - مطلوب. قائمة المرادفات بأحد التنسيقين التاليين: -لا يصدق، لا يصدق، رائع => مدهش - يتم استبدال جميع المصطلحات على الجانب الأيسر من => رمز مع جميع المصطلحات على جانبها الأيمن. -لا يصدق، لا يصدق، رائع، مدهش - قائمة مفصولة بفواصل من الكلمات المكافئة. تعيين خيار التوسيع لتغيير كيفية تفسير هذه القائمة. ignoreCase (النوع: bool) - إدخال طي حالة الأحرف للمطابقة. القيمة الافتراضية هي false. توسيع (النوع: bool) - إذا كان صحيحا، يتم تعيين كل الكلمات في قائمة المرادفات (إذا لم يتم استخدام => رمز) إلى بعضها البعض. القائمة التالية: لا يصدق، لا يصدق، رائع، مدهش يعادل: لا يصدق، لا يصدق، رائع، مدهش => لا يصدق، لا يصدق، رائع، مدهش - إذا كانت خاطئة، القائمة التالية: لا يصدق، لا يصدق، رائع، مذهلة تعادل: لا يصدق، لا يصدق، رائع، مدهش => لا يصدق. |
trim | (ينطبق النوع فقط عند توفر الخيارات) | اقتطاع المسافة البيضاء البادئة واللاحقة من الرموز المميزة. |
اقتطاع | TruncateTokenFilter | اقتطاع المصطلحات إلى طول معين. الخيارات الطول (النوع: int) - الافتراضي: 300، الحد الأقصى: 300. مطلوب. |
فريده | تصفية الرمز المميز الفريد | تصفية الرموز المميزة بنفس النص مثل الرمز المميز السابق. الخيارات onlyOnSamePosition (النوع: bool) - إذا تم تعيينه، فقم بإزالة التكرارات في نفس الموضع فقط. الافتراضي هو صواب. |
الاحرف الكبيره | (ينطبق النوع فقط عند توفر الخيارات) | تسوية نص الرمز المميز إلى أحرف كبيرة. |
word_delimiter | WordDelimiterTokenFilter | تقسيم الكلمات إلى كلمات فرعية وإجراء تحويلات اختيارية على مجموعات الكلمات الفرعية. الخيارات generateWordParts (النوع: bool) - يؤدي إلى إنشاء أجزاء من الكلمات، على سبيل المثال AzureSearch يصبح Azure Search . الافتراضي هو صواب.generateNumberParts (النوع: bool) - يؤدي إلى إنشاء كلمات فرعية للعدد. الافتراضي هو صواب. catenateWords (النوع: bool) - يؤدي إلى الحد الأقصى لعمليات تشغيل أجزاء الكلمات ليتم تحفيزها، على سبيل المثال Azure-Search يصبح AzureSearch . القيمة الافتراضية هي false.catenateNumbers (النوع: bool) - يتسبب في الحد الأقصى لعمليات تشغيل أجزاء الأرقام ليتم تحفيزها، على سبيل المثال 1-2 يصبح 12 . القيمة الافتراضية هي false.catenateAll (النوع: bool) - يؤدي إلى حفز جميع أجزاء الكلمات الفرعية، على سبيل المثال Azure-Search-1 يصبح AzureSearch1 . القيمة الافتراضية هي false.splitOnCaseChange (النوع: bool) - إذا كان صحيحا، فإن تقسيم الكلمات على caseChange، على سبيل المثال AzureSearch يصبح Azure Search . الافتراضي هو صواب.preserveOriginal - يؤدي إلى الاحتفاظ بالكلمات الأصلية وإضافتها إلى قائمة الكلمات الفرعية. القيمة الافتراضية هي false. splitOnNumerics (النوع: bool) - إذا كان صحيحا، فإن التقسيم على الأرقام، على سبيل المثال Azure1Search يصبح Azure 1 Search . الافتراضي هو صواب.stemEnglishPossessive (النوع: bool) - يؤدي إلى إزالة اللاحقة 's لكل كلمة فرعية. الافتراضي هو صواب.protectedWords (النوع: مصفوفة السلسلة) - الرموز المميزة للحماية من تحديدها. الإعداد الافتراضي هو قائمة فارغة. |
1 دائما ما تكون أنواع عوامل تصفية الرمز المميز مسبوقة في التعليمات البرمجية بحيث ArabicNormalizationTokenFilter
#Microsoft.Azure.Search
يتم تحديدها فعليا ك #Microsoft.Azure.Search.ArabicNormalizationTokenFilter
. لقد قمنا بإزالة البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية الخاصة بك.