تعريف المرادفات

من الشائع أن يكون لدى أي مؤسسة مصطلحات فريدة أو طرق متعددة للإشارة إلى مفهوم أو شيء. يجب عليك تعريف مرادفات لإنشاء وتكافؤ العبارات لمساعدة المستخدمين في العثور على البنود عند البحث.

يتم تعريف المرادفات عن طريق فهرسة العناصر باستخدام علامة _dictionaryEntry المعروفة Google.

يمكن أن تحتوي العناصر من النوع _dictionaryEntry على السمات التالية:

الموقع النوع الوصف مطلوب؟
_term string المصطلح المراد تعريفه. القيم المقترَحة هي كلمات أو عبارات غير واصلة بدون علامات ترقيم. مطلوب
_synonym string (repeated) العبارات البديلة التي سيتم تضمينها في طلبات البحث المطابقة للسلسلة المحدّدة في _term. مطلوب
_onlyApplicableForAttachedSearchApplications boolean للسماح لك بتجميع المرادفات حسب مصدر البيانات وتطبيق البحث. للمزيد من المعلومات، يُرجى الاطّلاع على المقالة تحديد مرادفات مصدر البيانات. اختياري

عندما يضمِّن المستخدم قيمة السمة _term في طلب بحث، يصبح طلب البحث الفعال "term OR مرادفات". على سبيل المثال، إذا كانت قيمة يتم تعريف المصطلح "scifi" بالمرادف "science fiction" ثم طلب بحث تحتوي على الكلمة "scifi" تتطابق مع العناصر التي تحتوي على إما "scifi" أو "science fiction."

لا يتم تطبيق المرادفات بصورة ثنائية الاتجاه. إذا كان الاستعلام بدلاً من ذلك "science fiction," Cloud Search لا يطبق أي مرادفات على طلب البحث. لا يطابق الاستعلام سوى العناصر التي تحتوي على "science fiction." عنصرًا يحتوي على تم حذف "scifi".

لجعل كلا المصطلحين قابلين للتبديل، حدِّد كل مصطلح على حدة:

المصطلح المرادفات
scifi science fiction
science fiction scifi

أثناء معالجة طلب البحث، تتم إزالة الواصلة وعلامات الترقيم الأخرى قبل إلى تطبيق المرادفات. طلب بحث المستخدم "sci-fi" تطابق _term "sci fi." لإنشاء مرادفات للعبارات التي قد يربطها المستخدمون، يجب أولاً تسويتها _term لاستخدام المسافة البيضاء بدلاً من الواصلات.

متابعة للمثال، تتطابق التعريفات التالية مع معالجة طلبات بحث المستخدم "sci-fi," "sci fi," "scifi," و "science fiction" كوحدة قابلة للتبديل:

المصطلح المرادفات
scifi science fiction, sci fi
sci fi science fiction, scifi
science fiction scifi, sci fi

بشكل تلقائي، يتم تطبيق المرادفات في أي مصدر بيانات على النطاق بالكامل. يتم تحديدًا تطبيق المرادفات على جميع تطبيقات البحث لجميع عمليات البحث. بغض النظر عن مصدر البيانات. إذا كنت تريد مرادفات خاصة بمصدر البيانات، يمكنك الرجوع إلى تحديد مرادفات مصدر البيانات.

تعريف المرادفات العالمية باستخدام حزمة تطوير البرامج (SDK) لخدمة Cloud Search

يمكنك استخدام حزمة تطوير البرامج (SDK) لـ Content Connector لتحديد المصطلحات ومرادفاتها. عرض إنشاء موصِّل محتوى الإرشادات حول إنشاء موصل.

يوضح المقتطف التالي إنشاء RepositoryDoc تمثل المصطلح والمرادف بناءً على سجل ملف CSV:

DictionaryConnector.java
/**
 * Creates a document for indexing.
 *
 * For this connector sample, the created document is domain public
 *  searchable. The content is a simple text string.
 *
 * @param record The current CSV record to convert
 * @return the fully formed document ready for indexing
 */
private ApiOperation buildDocument(CSVRecord record) {
  // Extract term and synonyms from record
  String term = record.get(0);
  List<String> synonyms = StreamSupport.stream(record.spliterator(), false)
      .skip(1) // Skip term
      .collect(Collectors.toList());

  Multimap<String, Object> structuredData = ArrayListMultimap.create();
  structuredData.put("_term", term);
  structuredData.putAll("_synonym", synonyms);

  if (Configuration.getBoolean("dictionary.attachedToSearchApp", false).get()) {
    structuredData.put("_onlyApplicableForAttachedSearchApplications", true);
  }

  String itemName = String.format("dictionary/%s", term);

  // Using the SDK item builder class to create the item
  Item item =
      IndexingItemBuilder.fromConfiguration(itemName)
          .setItemType(IndexingItemBuilder.ItemType.CONTENT_ITEM)
          .setObjectType("_dictionaryEntry")
          .setValues(structuredData)
          .setAcl(DOMAIN_PUBLIC_ACL)
          .build();

  // Create the fully formed document
  return new RepositoryDoc.Builder()
      .setItem(item)
      .build();
}

يُرجى مراعاة ما يلي عند تعريف المرادفات:

  • يجب إدخال المرادفات لتكون متاحة للجميع في النطاق. في المثال السابق، يمكن تحقيق ذلك من خلال ضبط قائمة التحكم بالوصول (ACL) على DOMAIN_PUBLIC_ACL.
  • يجب عدم تحديد السمات التالية لملف الإعداد لأنها تلغي الإعداد العام للنطاق في الرمز الخاص بك:
    • defaultAcl.mode=FALLBACK
    • defaultAcl.public=true

تحديد المرادفات الخاصة بتطبيق البحث

يتم تلقائيًا تطبيق المرادفات على جميع مصادر البيانات في جميع عمليات البحث التطبيقات.

ومع ذلك، لنفترض أن مؤسستك تمتلك فرقًا منفصلة للهندسة والمبيعات، تريد تزويد كل فريق بتجربة بحث مختلفة، بما في ذلك المرادفات الخاصة بالأدوار الوظيفية. في هذه الحالة، يمكنك إنشاء عملية بحث واحدة المستخدم مع مصدر بيانات خاص بالهندسة ومرادفات تطبيق البحث مع مصدر بيانات خاص بالمبيعات ومرادفاتها. لإنجاز لهذا الهدف، فقم بفهرسة كل مرادف في مصدر بيانات معين باستخدام _onlyApplicableForAttachedSearchApplications=true. هذا النمط إعداد تقييد المرادفات بحيث يتم تطبيقها على البحث فقط التطبيقات التي تتضمن مصدر بيانات محددًا.

على سبيل المثال، يمكن أن تضيف سطر الرمز التالي إلى عينة الرمز السابق يضمن المرادفات المفهرسة خاصة بمصدر البيانات:

structuredData.put("_onlyApplicableForAttachedSearchApplications", true);