إضافة محللات مخصصة إلى حقول السلسلة في فهرس 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.SearchPatternAnalyzer يتم تحديدها فعليا على أنها #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.SearchClassicTokenizer يتم تحديدها فعليا على أنها #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وbeiderMorsekoelnerPhonetikhaasePhonetik. افتراضي: metaphone. الافتراضي هو metaphone.

راجع أداة الترميز لمزيد من المعلومات.

استبدال (النوع: bool) - True إذا كان يجب أن تحل الرموز المميزة المشفرة محل الرموز المميزة الأصلية، خطأ إذا كان يجب إضافتها كمرادفات. الافتراضي هو صواب.
porter_stem (ينطبق النوع فقط عند توفر الخيارات) تحويل دفق الرمز المميز وفقا لخوارزمية تفرع Porter.
reverse (ينطبق النوع فقط عند توفر الخيارات) عكس سلسلة الرمز المميز.
scandinavian_normalization (ينطبق النوع فقط عند توفر الخيارات) تطبيع استخدام الأحرف الاسكندنافية القابلة للتبديل.
scandinavian_folding (ينطبق النوع فقط عند توفر الخيارات) طي الأحرف åÅäæÄÆالإسكندنافية إلى a و öÖøØإلى o. كما أنه يميز ضد استخدام حروف العلة المزدوجة aaو aeaooe و و ooوترك أول حرف فقط.
لوحه خشبيه ShingleTokenFilter إنشاء مجموعات من الرموز المميزة كرمز مميز واحد.

الخيارات

maxShingleSize (النوع: int) - الإعدادات الافتراضية إلى 2.

minShingleSize (النوع: int) - الإعدادات الافتراضية إلى 2.

outputUnigrams (النوع: bool) - إذا كان صحيحا، يحتوي دفق الإخراج على رموز الإدخال المميزة (unigrams) بالإضافة إلى القوباء المنطقية. الافتراضي هو صواب.

outputUnigramsIfNoShingles (type: bool) - إذا كان صحيحا، فتجاوز سلوك outputUnigrams==false لتلك الأوقات التي لا تتوفر فيها القوباء المنطقية. القيمة الافتراضية هي false.

tokenSeparator (النوع: سلسلة) - السلسلة التي يجب استخدامها عند الانضمام إلى الرموز المميزة المجاورة لتشكيل اللمعان. الافتراضي هو مساحة فارغة واحدة .

filterToken (النوع: سلسلة) - السلسلة المراد إدراجها لكل موضع لا يوجد له رمز مميز. الافتراضي هو _.
كره الثلج SnowballTokenFilter عامل تصفية الرمز المميز لكرة الثلج.

الخيارات

اللغة (النوع: السلسلة) - تتضمن القيم المسموح بها: armenianو catalanو و dutchdanishو englishhungarianfinnishfrenchitaliangermangerman2و و kpو. spanishlovinsporterswedishnorwegianportugueseromanianrussianbasqueturkish
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و brazilianbasqueوbulgariancatalanenglishenglishturkishfinnishdutchpersianfrenchportuguesegalicianromanianswedishnorwegianthaispanishsoranirussianlatvianitalianirishindonesianhindigermanhungarianczechdanishgreek. لا يمكن تحديد ما إذا كان stopwords محددا.

ignoreCase (النوع: bool) - إذا كان صحيحا، تكون جميع الكلمات صغيرة أولا. القيمة الافتراضية هي false.

removeTrailing (النوع: bool) - إذا كان صحيحا، تجاهل مصطلح البحث الأخير إذا كانت كلمة إيقاف. الافتراضي هو صواب.
مرادف SynonymTokenFilter يطابق مرادفات مفردة أو متعددة الكلمات في دفق الرمز المميز.

الخيارات

المرادفات (النوع: مصفوفة السلسلة) - مطلوب. قائمة المرادفات بأحد التنسيقين التاليين:

-لا يصدق، لا يصدق، رائع => مدهش - يتم استبدال جميع المصطلحات على الجانب الأيسر من => رمز مع جميع المصطلحات على جانبها الأيمن.

-لا يصدق، لا يصدق، رائع، مدهش - قائمة مفصولة بفواصل من الكلمات المكافئة. تعيين خيار التوسيع لتغيير كيفية تفسير هذه القائمة.

ignoreCase (النوع: bool) - إدخال طي حالة الأحرف للمطابقة. القيمة الافتراضية هي false.

توسيع (النوع: bool) - إذا كان صحيحا، يتم تعيين كل الكلمات في قائمة المرادفات (إذا لم يتم استخدام => رمز) إلى بعضها البعض.
القائمة التالية: لا يصدق، لا يصدق، رائع، مدهش يعادل: لا يصدق، لا يصدق، رائع، مدهش => لا يصدق، لا يصدق، رائع، مدهش

- إذا كانت خاطئة، القائمة التالية: لا يصدق، لا يصدق، رائع، مذهلة تعادل: لا يصدق، لا يصدق، رائع، مدهش => لا يصدق.
trim (ينطبق النوع فقط عند توفر الخيارات) اقتطاع المسافة البيضاء البادئة واللاحقة من الرموز المميزة.
اقتطاع TruncateTokenFilter اقتطاع المصطلحات إلى طول معين.

الخيارات

الطول (النوع: int) - الافتراضي: 300، الحد الأقصى: 300. مطلوب.
فريده تصفية الرمز المميز الفريد تصفية الرموز المميزة بنفس النص مثل الرمز المميز السابق.

الخيارات

onlyOnSamePosition (النوع: bool) - إذا تم تعيينه، فقم بإزالة التكرارات في نفس الموضع فقط. الافتراضي هو صواب.
الاحرف الكبيره (ينطبق النوع فقط عند توفر الخيارات) تسوية نص الرمز المميز إلى أحرف كبيرة.
word_delimiter WordDelimiterTokenFilter تقسيم الكلمات إلى كلمات فرعية وإجراء تحويلات اختيارية على مجموعات الكلمات الفرعية.

الخيارات

generateWordParts (النوع: bool) - يؤدي إلى إنشاء أجزاء من الكلمات، على سبيل المثال AzureSearch يصبح AzureSearch. الافتراضي هو صواب.

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 يصبح AzureSearch. الافتراضي هو صواب.

preserveOriginal - يؤدي إلى الاحتفاظ بالكلمات الأصلية وإضافتها إلى قائمة الكلمات الفرعية. القيمة الافتراضية هي false.

splitOnNumerics (النوع: bool) - إذا كان صحيحا، فإن التقسيم على الأرقام، على سبيل المثال Azure1Search يصبح Azure1Search. الافتراضي هو صواب.

stemEnglishPossessive (النوع: bool) - يؤدي إلى إزالة اللاحقة 's لكل كلمة فرعية. الافتراضي هو صواب.

protectedWords (النوع: مصفوفة السلسلة) - الرموز المميزة للحماية من تحديدها. الإعداد الافتراضي هو قائمة فارغة.

1 دائما ما تكون أنواع عوامل تصفية الرمز المميز مسبوقة في التعليمات البرمجية بحيث ArabicNormalizationTokenFilter#Microsoft.Azure.Search يتم تحديدها فعليا ك #Microsoft.Azure.Search.ArabicNormalizationTokenFilter. لقد قمنا بإزالة البادئة لتقليل عرض الجدول، ولكن يرجى تذكر تضمينها في التعليمات البرمجية الخاصة بك.

(راجع أيضًا )