সমার্থক শব্দের সংজ্ঞা দাও

প্রতিষ্ঠানগুলোর প্রায়শই নিজস্ব পরিভাষা থাকে অথবা একই ধারণা বোঝানোর একাধিক উপায় থাকে। সমার্থক শব্দ নির্ধারণ করলে পরিভাষাগুলোর মধ্যে সমতা প্রতিষ্ঠিত হয়, যা ব্যবহারকারীদের অনুসন্ধানের সময় বিষয়বস্তু খুঁজে পেতে সাহায্য করে।

_dictionaryEntry সুপরিচিত স্কিমা ব্যবহার করে আইটেমগুলোকে সূচীবদ্ধ করার মাধ্যমে সমার্থক শব্দ নির্ধারণ করুন।

_dictionaryEntry টাইপের আইটেমগুলোর নিম্নলিখিত প্রোপার্টিগুলো থাকতে পারে:

সম্পত্তি প্রকার বর্ণনা প্রয়োজন?
_term string সংজ্ঞা দেওয়ার পরিভাষা। প্রস্তাবিত মান হলো বিরামচিহ্নবিহীন, হাইফেনবিহীন শব্দ বা শব্দগুচ্ছ। প্রয়োজনীয়
_synonym string (repeated) _term এ সংজ্ঞায়িত স্ট্রিং-এর সাথে মেলে এমন কোয়েরিতে অন্তর্ভুক্ত করার জন্য বিকল্প পদসমূহ। প্রয়োজনীয়
_onlyApplicableForAttachedSearchApplications boolean এটি আপনাকে ডেটা উৎস এবং অনুসন্ধান অ্যাপ্লিকেশন অনুসারে সমার্থক শব্দগুলোকে শ্রেণিবদ্ধ করার সুযোগ দেয়। আরও তথ্যের জন্য, ‘ডেটা উৎস-নির্দিষ্ট সমার্থক শব্দ সংজ্ঞায়িত করুন ’ দেখুন। ঐচ্ছিক

যখন কোনো ব্যবহারকারী একটি কোয়েরিতে _term ভ্যালু অন্তর্ভুক্ত করেন, তখন কার্যকর কোয়েরিটি " term OR synonyms " হয়ে যায়। উদাহরণস্বরূপ, যদি আপনি "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 ব্যবহার করে বৈশ্বিক প্রতিশব্দ সংজ্ঞায়িত করুন

পরিভাষা ও প্রতিশব্দ নির্ধারণ করতে কন্টেন্ট কানেক্টর এসডিকে ব্যবহার করুন। বিস্তারিত জানতে ‘ক্রিয়েট এ কন্টেন্ট কানেক্টর’ দেখুন।

এই কোড স্নিপেটটি একটি CSV রেকর্ড থেকে একটি RepositoryDoc তৈরি করে:

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);