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

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

حدِّد المرادفات من خلال فهرسة العناصر باستخدام مخطط _dictionaryEntry المعروف.

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

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

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

لا تكون المرادفات ثنائية الاتجاه تلقائيًا. لا يتطابق طلب البحث عن "science fiction" إلا مع هذه العبارة بالضبط، ما لم تحدّدها أيضًا كمصطلح له "scifi" كمرادف. لجعل المصطلحات قابلة للتبديل، حدِّد كل مصطلح على حدة:

العبارة المرادفات
scifi science fiction
science fiction scifi

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

أمثلة قابلة للتبديل:

العبارة المرادفات
scifi science fiction, sci fi
sci fi science fiction, scifi
science fiction scifi, sci fi

تُطبَّق المرادفات تلقائيًا على النطاق بأكمله وجميع تطبيقات البحث. لتقييدها، يُرجى الاطّلاع على تحديد مرادفات خاصة بمصدر البيانات.

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

استخدِم Content Connector SDK لتحديد المصطلحات والمرادفات. لمزيد من التفاصيل، يُرجى الاطّلاع على مقالة إنشاء موصّل محتوى.

تنشئ هذه المقتطفة 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();
}

اعتبارات مهمة:

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

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

لتقديم مرادفات خاصة بالفريق (مثل المرادفات الخاصة بفريق الهندسة مقارنةً بفريق المبيعات)، يجب فهرسة كل مرادف باستخدام _onlyApplicableForAttachedSearchApplications=true. يؤدي ذلك إلى حصر المرادفات على تطبيقات البحث التي تتضمّن مصدر البيانات المحدّد.

مثال:

structuredData.put("_onlyApplicableForAttachedSearchApplications", true);