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

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

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

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

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

যখন একজন ব্যবহারকারী একটি ক্যোয়ারীতে _term প্রপার্টির মান অন্তর্ভুক্ত করে, তখন কার্যকরী ক্যোয়ারী " টার্ম বা সমার্থক শব্দ " হয়ে যায়। উদাহরণস্বরূপ, যদি "scifi" শব্দটিকে "science fiction" প্রতিশব্দ দিয়ে সংজ্ঞায়িত করা হয় তাহলে "scifi" শব্দটি সম্বলিত একটি প্রশ্ন "scifi" বা "science fiction."

প্রতিশব্দ দ্বিমুখীভাবে প্রয়োগ করা হয় না। যদি ক্যোয়ারীটি "science fiction," ক্লাউড সার্চ ক্যোয়ারীতে কোনো প্রতিশব্দ প্রয়োগ করে না। ক্যোয়ারীটি শুধুমাত্র "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 নির্মাণের চিত্র তুলে ধরে:

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