समानार्थी शब्द (एक जैसे मतलब वाले) शब्द तय करें

संगठनों में अक्सर यूनीक शब्दावली होती है या एक ही कॉन्सेप्ट को अलग-अलग तरीकों से बताया जाता है. समानार्थी शब्दों को तय करने से, शब्दों की समानता का पता चलता है. इससे लोगों को खोज के दौरान आइटम ढूंढने में मदद मिलती है.

_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

डिफ़ॉल्ट रूप से, समानार्थी शब्द पूरे डोमेन और खोज से जुड़े सभी ऐप्लिकेशन पर लागू होते हैं. इनकी संख्या सीमित करने के लिए, डेटा सोर्स के हिसाब से मिलते-जुलते शब्द तय करना लेख पढ़ें.

एसडीके का इस्तेमाल करके, ग्लोबल समानार्थी शब्द तय करना

शर्तों और समानार्थी शब्दों को तय करने के लिए, Content Connector 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();
}

ज़रूरी बातें:

  • समानार्थी शब्दों की एंट्री, डोमेन के लिए सार्वजनिक होनी चाहिए. उदाहरण के लिए, एसीएल को DOMAIN_PUBLIC_ACL पर सेट किया जा सकता है.
  • अपनी कॉन्फ़िगरेशन फ़ाइल में ऐसी सेटिंग इस्तेमाल न करें जो इस सेटिंग को बदल देती हैं. जैसे, defaultAcl.mode=FALLBACK या defaultAcl.public=true.

सर्च ऐप्लिकेशन के लिए, मिलते-जुलते शब्दों को तय करना

टीम के हिसाब से मिलते-जुलते शब्द (जैसे, इंजीनियरिंग बनाम बिक्री) उपलब्ध कराने के लिए, हर मिलते-जुलते शब्द को _onlyApplicableForAttachedSearchApplications=true के साथ इंडेक्स करें. इससे समानार्थी शब्दों को उन खोज ऐप्लिकेशन तक सीमित किया जाता है जिनमें खास डेटा सोर्स शामिल होता है.

उदाहरण:

structuredData.put("_onlyApplicableForAttachedSearchApplications", true);