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

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

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

_dictionaryEntry ধরণের আইটেমগুলিতে নিম্নলিখিত বৈশিষ্ট্য থাকতে পারে:

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

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

আপনি কন্টেন্ট কানেক্টর SDK ব্যবহার করে পদ এবং তাদের সমার্থক শব্দ সংজ্ঞায়িত করতে পারেন। কানেক্টর তৈরির নির্দেশাবলীর জন্য কন্টেন্ট কানেক্টর তৈরি করুন দেখুন।

নিম্নলিখিত স্নিপেটটি একটি CSV ফাইল রেকর্ডের উপর ভিত্তি করে শব্দ এবং প্রতিশব্দ উপস্থাপন করে একটি RepositoryDoc তৈরির চিত্র তুলে ধরে:

অভিধান সংযোগকারী.জাভা
/**
 * 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);