إضافة محللات مخصصة إلى حقول السلسلة في فهرس البحث المعرفي في Azure
المحلل المخصص هو مزيج معرف من قبل المستخدم من الرمز المميز وواحد أو أكثر من عوامل تصفية الرموز المميزة وعامل تصفية أحرف واحد أو أكثر محدد في فهرس البحث، ثم تتم الإشارة إليه في تعريفات الحقول التي تتطلب تحليلا مخصصا. الرمز المميز مسؤول عن تقسيم النص إلى رموز ، ومرشحات الرمز المميز لتعديل الرموز المميزة المنبعثة من الرمز المميز. تقوم عوامل تصفية الأحرف بإعداد نص الإدخال قبل معالجته بواسطة الرمز المميز. للحصول على المفاهيم والأمثلة، راجع أدوات التحليل في البحث المعرفي في Azure.
يمنحك المحلل المخصص التحكم في عملية تحويل النص إلى رموز قابلة للفهرسة والبحث من خلال السماح لك باختيار أنواع التحليل أو التصفية التي تريد استدعاؤها ، والترتيب الذي تحدث به.
قم بإنشاء محلل مخصص وتعيينه إذا لم يكن أي من أجهزة تحليل اللغة الافتراضية (Standard Lucence) أو المضمنة أو محللات اللغة كافية لاحتياجاتك. يمكنك أيضا إنشاء محلل مخصص إذا كنت تريد استخدام محلل مضمن مع خيارات مخصصة. على سبيل المثال، إذا كنت ترغب في تغيير maxTokenlength على Standard، يمكنك إنشاء محلل مخصص، باسم معرف من قبل المستخدم، لتعيين هذا الخيار.
تتضمن السيناريوهات التي يمكن أن تكون فيها أجهزة التحليل المخصصة مفيدة ما يلي:
استخدام عوامل تصفية الأحرف لإزالة ترميز HTML قبل ترميز مدخلات النص، أو استبدال أحرف أو رموز معينة.
البحث الصوتي. أضف فلتر صوتي لتمكين البحث استنادا إلى كيفية ظهور الكلمة، وليس كيفية تهجئتها.
تعطيل التحليل المعجمي. استخدم محلل الكلمات الرئيسية لإنشاء حقول قابلة للبحث لم يتم تحليلها.
بحث سريع عن البادئة / اللاحقة. أضف مرشح الرمز المميز Edge N-gram إلى بادئات فهرسة الكلمات لتمكين مطابقة البادئة السريعة. قم بدمجه مع مرشح الرمز المميز العكسي للقيام بمطابقة اللاحقة.
ترميز مخصص. على سبيل المثال، استخدم الرمز المميز للمسافة البيضاء لتقسيم الجمل إلى رموز مميزة باستخدام المسافة البيضاء كمحدد
ASCII قابلة للطي. أضف مرشح ASCII القياسي القابل للطي لتطبيع علامات التشكيل مثل ö أو ê في مصطلحات البحث.
ملاحظة
لا يتم الكشف عن أجهزة التحليل المخصصة في مدخل Azure. الطريقة الوحيدة لإضافة محلل مخصص هي من خلال التعليمات البرمجية التي تحدد فهرسا.
إنشاء محلل مخصص
لإنشاء محلل مخصص، حدده في قسم "المحللين" في فهرس في وقت التصميم، ثم قم بالرجوع إليه في حقول Edm.String القابلة للبحث باستخدام خاصية "المحلل" أو زوج "indexAnalyzer" و "searchAnalyzer".
يتضمن تعريف المحلل اسما ونوعا ومرشحا واحدا أو أكثر من مرشحات الأحرف ورمزا واحدا كحد أقصى ومرشحا واحدا أو أكثر من مرشحات الرموز المميزة لمعالجة ما بعد الترميز. يتم تطبيق عوامل تصفية الأحرف قبل الترميز. يتم تطبيق مرشحات الرمز المميز ومرشحات الأحرف من اليسار إلى اليمين.
يجب أن تكون الأسماء في محلل مخصص فريدة ولا يمكن أن تكون هي نفسها مثل أي من أجهزة التحليل المضمنة أو الرموز المميزة أو فلاتر الرموز المميزة أو عوامل تصفية الأحرف. يجب أن تحتوي فقط على أحرف أو أرقام أو مسافات أو شرطات أو شرطة سفلية ، ويمكن أن تبدأ وتنتهي فقط بأحرف أبجدية رقمية ، وتقتصر على 128 حرفا.
يجب أن يكون النوع #Microsoft.Azure.Search.CustomAnalyzer.
يمكن أن يكون "charFilters" مرشحا واحدا أو أكثر من فلاتر الأحرف ، تتم معالجته قبل الترميز ، بالترتيب المقدم. تحتوي بعض فلاتر الأحرف على خيارات ، والتي يمكن تعيينها في "قسم charFilter. مرشحات الأحرف اختيارية.
"tokenizer" هو بالضبط واحد Tokenizer. مطلوب قيمة. إذا كنت بحاجة إلى أكثر من رمز مميز واحد، فيمكنك إنشاء محللات مخصصة متعددة وتعيينها على أساس كل حقل على حدة في مخطط الفهرس.
يمكن أن تكون "tokenFilters" عبارة عن مرشح واحد أو أكثر من مرشحات Token ، تتم معالجتها بعد الترميز ، بالترتيب المقدم. بالنسبة إلى فلاتر الرموز المميزة التي تحتوي على خيارات، أضف قسم "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)[ ]
}
تعريف المحلل هو جزء من المؤشر الأكبر. تتم إضافة تعريفات لفلاتر char والرموز المميزة وفلاتر الرموز المميزة إلى الفهرس فقط إذا كنت تقوم بتعيين خيارات مخصصة. لاستخدام عامل تصفية أو رمز مميز موجود كما هو، حدده بالاسم في تعريف المحلل. لمزيد من المعلومات، راجع إنشاء فهرس (REST). لمزيد من الأمثلة، راجع إضافة محللات في البحث المعرفي في Azure.
اختبار أجهزة التحليل المخصصة
يمكنك استخدام محلل الاختبار (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_type1 | الوصف والخيارات |
|---|---|---|
| الكلمه الاساسيه | (ينطبق النوع فقط عند توفر الخيارات) | يعامل المحتوى الكامل للحقل كرمز مميز واحد. هذا مفيد لبيانات مثل الرموز البريدية والمعرفات وبعض أسماء المنتجات. |
| رسم | محلل الأنماط | يفصل النص بمرونة إلى مصطلحات عبر نمط تعبير منتظم. خيارات الأحرف الصغيرة (النوع: bool) - يحدد ما إذا كانت المصطلحات صغيرة أم لا. الافتراضي هو صواب. نمط (النوع: سلسلة) - نمط تعبير عادي لمطابقة فواصل الرمز المميز. الافتراضي هو \W+، الذي يطابق الأحرف غير الكلمة. الأعلام (النوع: سلسلة) - أعلام التعبير العادية. الافتراضي هو سلسلة فارغة. القيم المسموح بها: CANON_EQ ، CASE_INSENSITIVE ، التعليقات ، النقاط ، الحرفية ، متعددة الأسطر ، UNICODE_CASE ، كلمات التوقف UNIX_LINES (النوع: صفيف السلسلة) - قائمة بكلمات التوقف. الافتراضي هو قائمة فارغة. |
| بسيطة | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير أحرف ويحولها إلى أحرف صغيرة. |
| معيار (يشار إليها أيضا باسم standard.lucene) | ستاندرد أنالايزر | محلل Lucene القياسي ، الذي يتكون من الرمز المميز القياسي ، ومرشح الأحرف الصغيرة ، ومرشح الإيقاف. خيارات maxTokenlength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي هو 255. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. الحد الأقصى لطول الرمز المميز الذي يمكن استخدامه هو 300 حرف. كلمات التوقف (النوع: صفيف السلسلة) - قائمة بكلمات التوقف. الافتراضي هو قائمة فارغة. |
| standardasciifolding.lucene | (ينطبق النوع فقط عند توفر الخيارات) | محلل قياسي مع مرشح Ascii قابل للطي. |
| وقف | ستوب أنالايزر | يقسم النص على غير الحروف ، ويطبق مرشحات الرمز المميز للأحرف الصغيرة وكلمة التوقف. خيارات كلمات التوقف (النوع: صفيف السلسلة) - قائمة بكلمات التوقف. الافتراضي هو قائمة محددة مسبقا للغة الإنجليزية. |
| بيضاء | (ينطبق النوع فقط عند توفر الخيارات) | محلل يستخدم رمز المسافة البيضاء. يتم تقسيم الرموز المميزة التي تزيد عن 255 حرفا. |
1 يتم دائما بادئة أنواع المحلل في التعليمات البرمجية ب "#Microsoft.Azure.Search" بحيث يتم تحديد "PatternAnalyzer" فعليا على أنه "#Microsoft.Azure.Search.PatternAnalyzer". لقد أزلنا البادئة للإيجاز ، ولكن البادئة مطلوبة في التعليمات البرمجية الخاصة بك.
يتم توفير analyzer_type فقط لأجهزة التحليل التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع محلل الكلمات الرئيسية، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
عوامل تصفية الأحرف
تضيف فلاتر الأحرف معالجة قبل وصول السلسلة إلى الرمز المميز.
يدعم البحث المعرفي عوامل تصفية الأحرف في القائمة التالية. يمكن العثور على مزيد من المعلومات حول كل منها في مرجع واجهة برمجة تطبيقات Lucene.
| char_filter_name | char_filter_type1 | الوصف والخيارات |
|---|---|---|
| html_strip | (ينطبق النوع فقط عند توفر الخيارات) | مرشح char يحاول تجريد بنى HTML. |
| تعيين | رسم الخرائطCharFilter | مرشح char يطبق التعيينات المعرفة باستخدام خيار التعيينات. المطابقة جشعة (أطول مطابقة نمط في نقطة معينة يفوز). يسمح للاستبدال بأن يكون السلسلة الفارغة. خيارات التعيينات (النوع: صفيف السلسلة) - قائمة بالتعيينات بالتنسيق التالي: "a => b" (يتم استبدال جميع تكرارات الحرف "a" بالحرف "b"). مطلوب |
| pattern_replace | نمطReplaceCharFilter | عامل تصفية char يحل محل الأحرف في سلسلة الإدخال. يستخدم تعبيرا منتظما لتحديد تسلسلات الأحرف للحفاظ عليها ونمطا بديلا لتحديد الأحرف المراد استبدالها. على سبيل المثال، نص الإدخال = "aa bb aa bb"، pattern="(aa)\\s+(bb)" replacement="$1#$2", result = "aa#bb aa#bb". خيارات نمط (النوع: سلسلة) - مطلوب. استبدال (النوع: سلسلة) - مطلوب. |
1 يتم دائما بادئة أنواع مرشحات Char في التعليمات البرمجية ب "#Microsoft.Azure.Search" بحيث يتم تحديد "MappingCharFilter" فعليا على أنها "#Microsoft.Azure.Search.MappingCharFilter. لقد أزلنا البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية. لاحظ أنه يتم توفير char_filter_type فقط للفلاتر التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع html_strip، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
tokenizer
يقسم الرمز المميز النص المستمر إلى سلسلة من الرموز المميزة ، مثل تقسيم الجملة إلى كلمات ، أو كلمة إلى أشكال جذرية.
يدعم البحث المعرفي الرموز المميزة في القائمة التالية. يمكن العثور على مزيد من المعلومات حول كل منها في مرجع واجهة برمجة تطبيقات Lucene.
| tokenizer_name | tokenizer_type1 | الوصف والخيارات |
|---|---|---|
| كلاسيكي | كلاسيك توكنتيزر | الرمز المميز القائم على القواعد النحوية المناسب لمعالجة معظم المستندات باللغة الأوروبية. خيارات maxTokenlength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 255، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
| إيدجكرام | EdgeNGramTokenizer | يرمز إلى الإدخال من حافة إلى n-grams من حجم (أحجام) معين. خيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى: 300. يجب أن يكون أكبر من minGram. tokenChars (النوع: صفيف السلسلة) - فئات الأحرف للاحتفاظ بها في الرموز المميزة. القيم المسموح بها: "حرف" ، "رقم" ، "مسافة بيضاء" ، "علامات ترقيم" ، "رمز". الإعدادات الافتراضية لصفيف فارغ - يحتفظ بجميع الأحرف. |
| keyword_v2 | الكلمات الرئيسيةTokenizerV2 | يصدر الإدخال بأكمله كرمز مميز واحد. خيارات maxTokenlength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 256، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. |
| رسالة | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير الحروف. يتم تقسيم الرموز المميزة التي تزيد عن 255 حرفا. |
| صغيره | (ينطبق النوع فقط عند توفر الخيارات) | يقسم النص على غير أحرف ويحولها إلى أحرف صغيرة. يتم تقسيم الرموز المميزة التي تزيد عن 255 حرفا. |
| microsoft_language_tokenizer | MicrosoftLanguageTokenizer | يقسم النص باستخدام قواعد خاصة باللغة. خيارات maxTokenlength (النوع: int) - الحد الأقصى لطول الرمز المميز ، الافتراضي: 255 ، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. يتم تقسيم الرموز المميزة التي يزيد طولها عن 300 حرف أولا إلى رموز بطول 300 ثم يتم تقسيم كل من هذه الرموز المميزة بناء على مجموعة maxTokenLength . isSearchTokenizer (النوع: bool) - تعيين إلى true إذا تم استخدامه كمرمز بحث ، وتعيين إلى false إذا تم استخدامه كمرمز فهرسة. اللغة (النوع: سلسلة) - اللغة المراد استخدامها، "الإنجليزية" الافتراضية. تشمل القيم المسموح بها: "البنغالية" و "البلغارية" و "الكاتالونية" و "الصينية المبسطة" و "الصينية التقليدية" و "الكرواتية" و "التشيكية" و "الدنماركية" و "الهولندية" و "الإنجليزية" و "الفرنسية" و "الألمانية" و "اليونانية" و "الغوجاراتية" و "الهندية" و "الآيسلندية" و "الإندونيسية" و "الإيطالية" و "اليابانية" و "الكانادا" و "الكورية" و "الماليزية" و "المالايالامية" و "الماراثية" و "النرويجيةبوكمال" و "البولندية" و "البرتغالية" و "البرتغالية" و "البرتغالية" و "البنجابية" و "الرومانية" و "الروسية" و "الصربية السيريلية" و "الصربية اللاتينية" و "السلوفينية" و "الإسبانية" و "السويدية" و "التاميلية" ، "التيلجو"، "التايلاندية"، "الأوكرانية"، "الأردية"، "الفيتنامية" |
| microsoft_language_stemming_tokenizer | MicrosoftLanguageStemmingTokenizer | يقسم النص باستخدام قواعد خاصة باللغة ويقلل الكلمات إلى نماذجها الأساسية OptionsmaxTokenLength (النوع: int) - الحد الأقصى لطول الرمز المميز ، الافتراضي: 255 ، الحد الأقصى: 300. يتم تقسيم الرموز المميزة الأطول من الحد الأقصى للطول. يتم تقسيم الرموز المميزة التي يزيد طولها عن 300 حرف أولا إلى رموز بطول 300 ثم يتم تقسيم كل من هذه الرموز المميزة بناء على مجموعة maxTokenLength . isSearchTokenizer (النوع: bool) - تعيين إلى true إذا تم استخدامه كمرمز بحث ، وتعيين إلى false إذا تم استخدامه كمرمز فهرسة. اللغة (النوع: سلسلة) - اللغة المراد استخدامها، "الإنجليزية" الافتراضية. وتشمل القيم المسموح بها: "العربية"، "البنغالية"، "البلغارية"، "الكاتالونية"، "الكرواتية"، "التشيكية"، "الدنماركية"، "الهولندية"، "الإنجليزية"، "الإستونية"، "الفنلندية"، "الفرنسية"، "الألمانية"، "اليونانية"، "الغوجاراتية"، "العبرية"، "الهندية"، "الهنغارية"، "الآيسلندية"، "الإندونيسية"، "الإيطالية"، "الكانادا"، "اللاتفية"، "الليتوانية"، "الماليزية"، "المالايالامية"، "الماراثية"، "النرويجيةبوكمال"، "البولندية"، "البرتغالية"، "البرتغالية"، "البرتغالية"، "البنجابية"، "الرومانية"، "الروسية"، "الصربيةالسيريلية"، "الصربيةاللاتينية"، "السلوفاكية"، "السلوفينية"، " الإسبانية"، "السويدية"، "التاميلية"، "التيلجو"، "التركية"، "الأوكرانية"، "الأردية" |
| إن جرام | NGramTokenizer | يرمز إلى الإدخال في n-gram من الحجم (المقاس) المحددة. خيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - الافتراضي: 2، الحد الأقصى: 300. يجب أن يكون أكبر من minGram. tokenChars (النوع: صفيف السلسلة) - فئات الأحرف للاحتفاظ بها في الرموز المميزة. القيم المسموح بها: "حرف" ، "رقم" ، "مسافة بيضاء" ، "علامات ترقيم" ، "رمز". الإعدادات الافتراضية لصفيف فارغ - يحتفظ بجميع الأحرف. |
| path_hierarchy_v2 | PathHierarchyTokenizerV2 | Tokenizer للتسلسلات الهرمية الشبيهة بالمسار. خيارات محدد (النوع: سلسلة) - افتراضي: '/. الاستبدال (النوع: سلسلة) - إذا تم تعيينه، يستبدل حرف المحدد. الافتراضي نفس قيمة المحدد. maxTokenlength (النوع: int) - الحد الأقصى لطول الرمز المميز. الافتراضي: 300، الحد الأقصى: 300. يتم تجاهل المسارات الأطول من maxTokenLength . عكس (النوع: bool) - إذا كان صحيحا ، فإنه يولد رمزا مميزا بترتيب عكسي. الافتراضي: خطأ. تخطي (النوع: bool) - الرموز الأولية لتخطيها. الافتراضي هو 0. |
| رسم | PatternTokenizer | يستخدم هذا الرمز المميز مطابقة نمط regex لإنشاء رموز مميزة. خيارات نمط (النوع: سلسلة) - نمط تعبير عادي لمطابقة فواصل الرمز المميز. الافتراضي هو \W+، الذي يطابق الأحرف غير الكلمة. الأعلام (النوع: سلسلة) - أعلام التعبير العادية. الافتراضي هو سلسلة فارغة. القيم المسموح بها: CANON_EQ ، CASE_INSENSITIVE ، التعليقات ، النقاط ، الحرفية ، متعددة الأسطر ، 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 يتم دائما بادئة أنواع Tokenizer في التعليمات البرمجية ب "#Microsoft.Azure.Search" بحيث يتم تحديد "ClassicTokenizer" فعليا ك "#Microsoft.Azure.Search.ClassicTokenizer". لقد أزلنا البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية. لاحظ أنه يتم توفير tokenizer_type فقط للرموز المميزة التي يمكن تخصيصها. إذا لم تكن هناك خيارات، كما هو الحال مع رمز الحرف، فلا يوجد نوع #Microsoft.Azure.Search مقترن.
عوامل تصفية الرمز المميز.
يتم استخدام مرشح الرمز المميز لتصفية أو تعديل الرموز المميزة التي تم إنشاؤها بواسطة رمزي. على سبيل المثال، يمكنك تحديد عامل تصفية صغير يحول كل الأحرف إلى أحرف صغيرة. يمكنك الحصول على فلاتر رمز مميز متعددة في محلل مخصص. يتم تشغيل مرشحات الرمز المميز بالترتيب الذي يتم سردها به.
في الجدول أدناه، ترتبط عوامل تصفية الرمز المميز التي يتم تنفيذها باستخدام Apache Lucene بوثائق واجهة برمجة تطبيقات Lucene.
| token_filter_name | token_filter_type1 | الوصف والخيارات |
|---|---|---|
| arabic_normalization | (ينطبق النوع فقط عند توفر الخيارات) | مرشح رمزي يطبق التطبيع العربي لتطبيع الإملاء. |
| الفاصله العليا | (ينطبق النوع فقط عند توفر الخيارات) | يقطع جميع الأحرف بعد الفاصلة العليا (بما في ذلك الفاصلة العليا نفسها). |
| الصعود | AsciiFoldingTokenFilter | يحول أحرف Unicode الأبجدية والرقمية والرمزية التي ليست في أول 127 حرفا من أحرف ASCII (كتلة Unicode "اللاتينية الأساسية") إلى معادلات ASCII الخاصة بها ، إن وجدت. الخيارات preserveOriginal (النوع: bool) - إذا كان ذلك صحيحا ، الاحتفاظ بالرمز المميز الأصلي. يعد الافتراضي غير صحيح. |
| cjk_bigram | CjkBigramTokenFilter | نماذج بيغرام من مصطلحات CJK التي يتم إنشاؤها من StandardTokenizer. الخيارات ignoreScripts (النوع: صفيف السلسلة) - البرامج النصية التي يجب تجاهلها. تشمل القيم المسموح بها: "هان" ، "هيراغانا" ، "كاتاكانا" ، "هانغول". الافتراضي هو قائمة فارغة. outputUnigrams (النوع: bool) - اضبط على true إذا كنت تريد دائما إخراج كل من unigrams و bigrams. يعد الافتراضي غير صحيح. |
| cjk_width | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع اختلافات عرض CJK. يطوي متغيرات ASCII كاملة العرض في متغيرات كاتاكانا اللاتينية الأساسية المكافئة ونصف العرض في الكانا المكافئ. |
| كلاسيكي | (ينطبق النوع فقط عند توفر الخيارات) | يزيل الملكيات الإنجليزية والنقاط من الاختصارات. |
| common_grams | CommonGramTokenFilter | قم بإنشاء صور ثنائية للمصطلحات التي تحدث بشكل متكرر أثناء الفهرسة. لا تزال المصطلحات الفردية مفهرسة أيضا ، مع وضع البيغرام بشكل زائد. الخيارات commonWords (النوع: صفيف السلسلة) - مجموعة الكلمات الشائعة. الافتراضي هو قائمة فارغة. مطلوب ignoreCase (النوع: bool) - إذا كان ذلك صحيحا، فإن المطابقة غير حساسة لحالة الأحرف. يعد الافتراضي غير صحيح. queryMode (النوع: bool) - يولد بيغرام ثم يزيل الكلمات الشائعة والمصطلحات الفردية متبوعة بكلمة شائعة. يعد الافتراضي غير صحيح. |
| dictionary_decompounder | DictionaryDecompounderTokenFilter | يتحلل الكلمات المركبة الموجودة في العديد من اللغات الجرمانية. الخيارات wordList (النوع: صفيف السلسلة) - قائمة الكلمات التي يجب مطابقتها معك. الافتراضي هو قائمة فارغة. مطلوب minWordSize (النوع: int) - تتم معالجة الكلمات الأطول من ذلك فقط. الافتراضي هو 5. minSubwordSize (النوع: int) - يتم إخراج الكلمات الفرعية الأطول من ذلك فقط. الافتراضي هو 2. maxSubwordSize (النوع: int) - يتم إخراج الكلمات الفرعية الأقصر من ذلك فقط. الافتراضي هو 15. onlyLongestMatch (النوع: bool) - أضف فقط أطول كلمة فرعية مطابقة للإخراج. يعد الافتراضي غير صحيح. |
| edgeNGram_v2 | EdgeNGramTokenFilterV2 | يولد n-gram من الحجم (المقاسج) المحددة من البداية من الأمام أو الخلف لرمز الإدخال. الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - افتراضي: 2، بحد أقصى 300. يجب أن يكون أكبر من minGram. الجانب (النوع: سلسلة) - يحدد أي جانب من الإدخال يجب إنشاء n-gram منه. القيم المسموح بها: "أمامي"، "خلفي" |
| الإزالة | ElisionTokenFilter | يزيل الإزالات. على سبيل المثال ، يتم تحويل "l'avion" (الطائرة) إلى "avion" (الطائرة). الخيارات المقالات (النوع: صفيف السلسلة) - مجموعة من المقالات المراد إزالتها. الافتراضي هو قائمة فارغة. إذا لم تكن هناك قائمة بالمقالات التي تم تعيينها، تتم إزالة جميع المقالات الفرنسية بشكل افتراضي. |
| german_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع الأحرف الألمانية وفقا لاستدلالات خوارزمية كرة الثلج German2 . |
| hindi_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع النص باللغة الهندية لإزالة بعض الاختلافات في الاختلافات الإملائية. |
| indic_normalization | IndicNormalizationTokenFilter | تطبيع تمثيل Unicode للنص باللغات الهندية. |
| حافظ | KeepTokenFilter | مرشح رمز مميز يحتفظ فقط بالرموز المميزة مع النص الموجود في قائمة محددة من الكلمات. الخيارات keepWords (النوع: صفيف السلسلة) - قائمة بالكلمات التي يجب الاحتفاظ بها. الافتراضي هو قائمة فارغة. مطلوب keepWordsCase (النوع: bool) - إذا كان صحيحا ، فقم بتقليل جميع الكلمات أولا. يعد الافتراضي غير صحيح. |
| keyword_marker | KeywordMarkerTokenFilter | يضع علامة على المصطلحات ككلمات رئيسية. الخيارات الكلمات الرئيسية (النوع: صفيف السلسلة) - قائمة بالكلمات التي يجب وضع علامة عليها ككلمات رئيسية. الافتراضي هو قائمة فارغة. مطلوب ignoreCase (النوع: bool) - إذا كان صحيحا، فأحرف صغيرة كل الكلمات أولا. يعد الافتراضي غير صحيح. |
| keyword_repeat | (ينطبق النوع فقط عند توفر الخيارات) | يصدر كل رمز مميز وارد مرتين ككلمة رئيسية ومرة واحدة ككلمة غير رئيسية. |
| كستيم | (ينطبق النوع فقط عند توفر الخيارات) | مرشح kstem عالي الأداء للغة الإنجليزية. |
| الطول | LengthTokenFilter | يزيل الكلمات الطويلة جدا أو القصيرة جدا. الخيارات min (النوع: int) - الحد الأدنى للعدد. الافتراضي: 0، الحد الأقصى: 300. الحد الأقصى (النوع: int) - الحد الأقصى للعدد. الافتراضي: 300، الحد الأقصى: 300. |
| حد | Microsoft.Azure.Search.LimitTokenFilter | يحد من عدد الرموز المميزة أثناء الفهرسة. الخيارات maxTokenCount (النوع: int) - الحد الأقصى لعدد الرموز المميزة لإنتاجها. الإعداد الافتراضي هو 1. consumeAllTokens (النوع: bool) - ما إذا كان يجب استهلاك جميع الرموز المميزة من الإدخال حتى إذا تم الوصول إلى maxTokenCount. يعد الافتراضي غير صحيح. |
| صغيره | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع نص الرمز المميز إلى أحرف صغيرة. |
| nGram_v2 | NGramTokenFilterV2 | يولد n-grams من الحجم (المقاسج) المحددة. الخيارات minGram (النوع: int) - الافتراضي: 1، الحد الأقصى: 300. maxGram (النوع: int) - افتراضي: 2، بحد أقصى 300. يجب أن يكون أكبر من minGram. |
| pattern_capture | PatternCaptureTokenFilter | يستخدم Java regexes لإصدار رموز مميزة متعددة ، واحدة لكل مجموعة التقاط في نمط واحد أو أكثر. الخيارات الأنماط (النوع: صفيف السلسلة) - قائمة بالأنماط التي يجب مطابقتها مع كل رمز مميز. مطلوب preserveOriginal (النوع: bool) - اضبط على true لإرجاع الرمز المميز الأصلي حتى إذا تطابق أحد الأنماط، افتراضيا: true |
| pattern_replace | PatternReplaceTokenFilter | مرشح الرمز المميز الذي يطبق نمطا على كل رمز مميز في البث، ويستبدل تكرارات المطابقة بسلسلة الاستبدال المحددة. الخيارات نمط (النوع: سلسلة) - مطلوب. استبدال (النوع: سلسلة) - مطلوب. |
| persian_normalization | (ينطبق النوع فقط عند توفر الخيارات) | يطبق التطبيع على الفارسية. |
| صوتي | PhoneticTokenFilter | إنشاء رموز للمباريات الصوتية. الخيارات برنامج التشفير (النوع: سلسلة) - برنامج تشفير صوتي للاستخدام. تشمل القيم المسموح بها: "metaphone" و "doubleMetaphone" و "soundex" و "refinedSoundex" و "caverphone1" و "caverphone2" و "cologne" و "nysiis" و "koelnerPhonetik" و "haasePhonetik" و "beiderMorse". الافتراضي: "ميتافون". الافتراضي هو ميتافون. راجع برنامج الترميز لمزيد من المعلومات. استبدال (النوع: bool) - صحيح إذا كانت الرموز المشفرة يجب أن تحل محل الرموز الأصلية ، خاطئة إذا كان يجب إضافتها كمرادفات. الافتراضي هو صواب. |
| porter_stem | (ينطبق النوع فقط عند توفر الخيارات) | يحول دفق الرمز المميز وفقا لخوارزمية Porter الجذعية. |
| reverse | (ينطبق النوع فقط عند توفر الخيارات) | عكس السلسلة الرمزية. |
| scandinavian_normalization | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع استخدام الأحرف الاسكندنافية القابلة للتبديل. |
| scandinavian_folding | (ينطبق النوع فقط عند توفر الخيارات) | Folds الأحرف الاسكندنافية åÅäæÄÆ-a و öÖøØ-o>>. كما أنه يميز ضد استخدام حروف العلة المزدوجة AA و ae و ao و oe و oo ، تاركا الحرف الأول فقط. |
| لوحه خشبيه | ShingleTokenFilter | ينشئ مجموعات من الرموز المميزة كرمز مميز واحد. الخيارات maxShingleSize (النوع: int) - الإعدادات الافتراضية إلى 2. minShingleSize (النوع: int) - افتراضي إلى 2. outputUnigrams (النوع: bool) - إذا كان صحيحا ، فإن دفق الإخراج يحتوي على رموز الإدخال (unigrams) بالإضافة إلى القوباء المنطقية. الافتراضي هو صواب. outputUnigramsIfNoShingles (النوع: bool) - إذا كان صحيحا ، فقم بتجاوز سلوك outputUnigrams == false لتلك الأوقات التي لا تتوفر فيها القوباء المنطقية. يعد الافتراضي غير صحيح. tokenSeparator (النوع: سلسلة) - السلسلة التي يجب استخدامها عند الانضمام إلى الرموز المميزة المجاورة لتشكيل لوح منطقي. الافتراضي هو " ". filterToken (النوع: سلسلة) - السلسلة المراد إدراجها لكل موضع لا يوجد فيه رمز مميز. الافتراضي هو "_". |
| كرة الثلج | SnowballTokenFilter | مرشح رمز كرة الثلج. الخيارات اللغة (النوع: سلسلة) - تشمل القيم المسموح بها: "الأرمنية" ، "الباسكية" ، "الكاتالونية" ، "الدنماركية" ، "الهولندية" ، "الإنجليزية" ، "الفنلندية" ، "الفرنسية" ، "الألمانية" ، "الألمانية2" ، "المجرية" ، "الإيطالية" ، "kp" ، "lovins" ، "النرويجية" ، "الحمال" ، "البرتغالية" ، "الرومانية" ، "الروسية" ، "الإسبانية" ، "السويدية" ، "التركية" |
| sorani_normalization | SoraniNormalizationTokenFilter | تطبيع تمثيل Unicode للنص السوراني. الخيارات لا شيء |
| ستيمر | StemmerTokenFilter | مرشح الجذعية الخاص باللغة. الخيارات اللغة (النوع: سلسلة) - تتضمن القيم المسموح بها ما يلي: - "العربية" - "الأرمنية" - "الباسك" - "البرازيلية" - "بلغاري" - "الكتالونية" - "التشيكية" - "الدنماركية" - "الهولندية" - "الهولنديةKp" - "الإنجليزية" - "لايت إنجليش" - "الحد الأدنىاللغة الإنجليزية" - "الملكيةالإنجليزية" - "حمال2" - "لوفين" - "الفنلندية" - "الفنلندية الخفيفة" - "الفرنسية" - "لايت فرنس" - "الحد الأدنىالفرنسية" - "غاليسي" - "الحد الأدنى الجاليكية" - "الألمانية" - "الألمانية2" - "الألمانية الخفيفة" - "الحد الأدنىالألمانية" - "اليونانية" - "الهندية" - "المجرية" - "الهنغارية الخفيفة" - "الإندونيسية" - "الأيرلندية" - "الإيطالية" - "الفاتحةالإيطالية" - "سوراني" - "لاتفيان" - "النرويجية" - "نورويجية" - "الحد الأدنىالنرويجية" - "لايتنينورسك" - "الحد الأدنىنينورسك" - "البرتغالية" - "البرتغالية الخفيفة" - "الحد الأدنىالبرتغالية" - "البرتغاليةRslp" - "الرومانية" - "الروسية" - "الضوءالروسية" - "الإسبانية" - "لايت إسباني" - "السويدية" - "السويدية الخفيفة" - "التركية" |
| stemmer_override | StemmerOverrideTokenFilter | يتم وضع علامة على أي مصطلحات Stemmed في القاموس ككلمات رئيسية ، مما يمنع التسرب إلى أسفل السلسلة. يجب وضعها قبل أي مرشحات جذعية. الخيارات القواعد (النوع: صفيف السلسلة) - قواعد Stemming بالتنسيق التالي "word = stem" على سبيل المثال "run =>> run". الافتراضي هو قائمة فارغة. مطلوب |
| كلمات التوقف | StopwordsTokenFilter | يزيل كلمات الإيقاف من دفق رمزي. بشكل افتراضي، يستخدم عامل التصفية قائمة كلمات إيقاف محددة مسبقا للغة الإنجليزية. الخيارات كلمات التوقف (النوع: صفيف السلسلة) - قائمة بكلمات التوقف. لا يمكن تحديد ما إذا تم تحديد كلمة توقف. stopwordsList (النوع: string) - قائمة محددة مسبقا من كلمات التوقف. لا يمكن تحديد كلمات التوقف إذا تم تحديد كلمات التوقف. تشمل القيم المسموح بها: "العربية" و "الأرمنية" و "الباسكية" و "البرازيلية" و "البلغارية" و "الكاتالونية" و "التشيكية" و "الدنماركية" و "الهولندية" و "الإنجليزية" و "الفنلندية" و "الفرنسية" و "الجاليكية" و "الألمانية" و "اليونانية" و "الهندية" و "الهنغارية" و "الإندونيسية" و "الأيرلندية" و "الإيطالية" و "اللاتفية" و "النرويجية" و "الفارسية" و "البرتغالية" و "الرومانية" و "الروسية" و "السورانية" و "الإسبانية" و "السويدية" و "التايلاندية" و "التركية" ، الافتراضية: "الإنجليزية". لا يمكن تحديد كلمات التوقف إذا تم تحديد كلمات التوقف. ignoreCase (النوع: bool) - إذا كان صحيحا ، كتابة جميع الكلمات بأحرف صغيرة أولا. يعد الافتراضي غير صحيح. removeTrailing (النوع: bool) - إذا كان صحيحا، فتجاهل عبارة البحث الأخيرة إذا كانت كلمة إيقاف. الافتراضي هو صواب. |
| مرادف | SynonymTokenFilter | يطابق مرادفات الكلمات المفردة أو المتعددة في دفق الرمز المميز. الخيارات المرادفات (النوع: صفيف السلسلة) - مطلوب. قائمة المرادفات في أحد التنسيقين التاليين: - لا يصدق ، لا يصدق ، رائع = مدهش - يتم استبدال جميع المصطلحات على الجانب الأيسر من =>> الرمز بجميع المصطلحات على جانبه الأيمن. - لا يصدق ، لا يصدق ، رائع ، مدهش - قائمة مفصولة بفواصل من الكلمات المكافئة. قم بتعيين خيار التوسيع لتغيير كيفية تفسير هذه القائمة. ignoreCase (النوع: bool) - إدخال طي العلبة للمطابقة. يعد الافتراضي غير صحيح. توسيع (النوع: bool) - إذا كان صحيحا ، فإن جميع الكلمات الموجودة في قائمة المرادفات (إذا لم يتم استخدام => التدوين) ترسم خريطة لبعضها البعض. القائمة التالية: لا يصدق ، لا يصدق ، رائع ، مدهش يعادل : لا يصدق ، لا يصدق ، رائع ، مدهش => لا يصدق ، لا يصدق ، رائع ، مدهش - إذا كانت خاطئة ، فإن القائمة التالية: لا تصدق ، لا تصدق ، رائعة ، مذهلة تعادل : لا يصدق ، لا يصدق ، رائع ، مدهش => لا يصدق. |
| trim | (ينطبق النوع فقط عند توفر الخيارات) | تقليم المسافة البيضاء الرائدة والزائدة من الرموز المميزة. |
| اقتطاع | TruncateTokenFilter | يقتطع المصطلحات إلى طول محدد. الخيارات الطول (النوع: int) - الافتراضي: 300، الحد الأقصى: 300. مطلوب |
| فريد | UniqueTokenFilter | تصفية الرموز المميزة بنفس النص مثل الرمز المميز السابق. الخيارات onlyOnSamePosition (النوع: bool) - إذا تم تعيينه، فقم بإزالة التكرارات فقط في نفس الموضع. الافتراضي هو صواب. |
| الاحرف الكبيره | (ينطبق النوع فقط عند توفر الخيارات) | تطبيع نص الرمز المميز إلى أحرف كبيرة. |
| word_delimiter | WordDelimiterTokenFilter | يقسم الكلمات إلى كلمات فرعية وينفذ تحويلات اختيارية على مجموعات الكلمات الفرعية. الخيارات generateWordParts (النوع: bool) - يؤدي إلى إنشاء أجزاء من الكلمات، على سبيل المثال "AzureSearch" يصبح "Azure" "Search". الافتراضي هو صواب. generateNumberParts (النوع: bool) - يؤدي إلى إنشاء كلمات فرعية للأرقام. الافتراضي هو صواب. catenateWords (النوع: bool) - يؤدي إلى الحد الأقصى من تشغيل أجزاء الكلمات التي سيتم تصنيفها، على سبيل المثال "Azure-Search" يصبح "AzureSearch". يعد الافتراضي غير صحيح. catenateNumbers (النوع: bool) - يتسبب في الحد الأقصى من تشغيل أجزاء الأرقام ، على سبيل المثال "1-2" يصبح "12". يعد الافتراضي غير صحيح. catenateAll (النوع: bool) - يؤدي إلى تصنيف جميع أجزاء الكلمات الفرعية، على سبيل المثال "Azure-Search-1" يصبح "AzureSearch1". يعد الافتراضي غير صحيح. splitOnCaseChange (النوع: bool) - إذا كان صحيحا ، يقسم الكلمات على caseChange ، على سبيل المثال "AzureSearch" يصبح "Azure" "Search". الافتراضي هو صواب. preserveOriginal - يؤدي إلى الحفاظ على الكلمات الأصلية وإضافتها إلى قائمة الكلمات الفرعية. يعد الافتراضي غير صحيح. splitOnNumerics (النوع: bool) - إذا كان صحيحا ، ينقسم على الأرقام ، على سبيل المثال "Azure1Search" يصبح "Azure" "1" "Search". الافتراضي هو صواب. stemEnglishPossessive (النوع: bool) - يتسبب في إزالة "s" الزائدة لكل كلمة فرعية. الافتراضي هو صواب. protectedWords (النوع: صفيف السلسلة) - الرموز المميزة للحماية من التحديد. الافتراضي هو قائمة فارغة. |
1 يتم دائما بادئة أنواع مرشحات الرمز المميز في التعليمات البرمجية ب "#Microsoft.Azure.Search" بحيث يتم تحديد "ArabicNormalizationTokenFilter" على أنه "#Microsoft.Azure.Search.ArabicNormalizationTokenFilter". لقد أزلنا البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية.