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

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

_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

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

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

शब्दों और समानार्थी शब्दों को तय करने के लिए, कॉन्टेंट कनेक्टर एसडीके का इस्तेमाल करें. ज़्यादा जानकारी के लिए, कॉन्टेंट कनेक्टर बनाना लेख पढ़ें.

इस स्निपेट से, सीएसवी रिकॉर्ड से 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);