खोज की क्वालिटी को बेहतर बनाएं

खोज की क्वालिटी का मतलब, खोज के नतीजों की क्वालिटी से है. इससे खोज क्वेरी करने वाले उपयोगकर्ता को रैंकिंग और याद रखने में मदद मिलती है.

रैंकिंग का मतलब, आइटम का क्रम है. साथ ही, वापस लाएं का मतलब, वापस लाए गए ऐसे आइटम की संख्या से है जो काम के हैं. आइटम (इसे दस्तावेज़ भी कहा जाता है) डिजिटल कॉन्टेंट का ऐसा कोई भी हिस्सा होता है जिसे Google Cloud Search इंडेक्स कर सकता है. इस तरह के आइटम में Microsoft Office के दस्तावेज़, PDF फ़ाइलें, डेटाबेस की पंक्ति, यूनीक यूआरएल वगैरह शामिल होते हैं. एक आइटम में ये चीज़ें शामिल होती हैं:

  • स्ट्रक्चर्ड मेटाडेटा
  • इंडेक्स किया जा सकने वाला कॉन्टेंट
  • ACL

Cloud Search, खोज क्वेरी के नतीजों को वापस पाने और उनकी रैंक तय करने के लिए कई तरह के सिग्नल का इस्तेमाल करता है. ये सिग्नल, खोज क्वेरी से मिलने वाले आइटम को रैंक करते हैं. Cloud Search के सिग्नल पर असर डालने के लिए स्कीमा की सेटिंग, आइटम के कॉन्टेंट और मेटाडेटा (इंडेक्स करने के दौरान), और खोज ऐप्लिकेशन की मदद ली जा सकती है. इस दस्तावेज़ का मकसद, सिग्नल के इन प्रभावशाली लोगों में बदलाव करके, खोज की क्वालिटी को बेहतर बनाने में आपकी मदद करना है.

सुझाई गई और वैकल्पिक सेटिंग की खास जानकारी के लिए, सुझाई गई और वैकल्पिक सर्च क्वालिटी सेटिंग की खास जानकारी देखें.

topicality स्कोर को प्रभावित करें

विषय का मतलब है कि खोज के नतीजे, क्वेरी के लिए इस्तेमाल हुए मूल शब्दों से कितने काम के हैं. किसी आइटम की प्रासंगिकता का हिसाब इन चीज़ों के आधार पर लगाया जाता है:

  • क्वेरी के हर शब्द की अहमियत.
  • हिट की संख्या (आइटम के कॉन्टेंट या मेटाडेटा में क्वेरी के लिए इस्तेमाल हुए शब्द की संख्या).
  • क्वेरी के लिए इस्तेमाल हुए शब्द और उसके वैरिएंट का टाइप, Cloud Search में इंडेक्स किए गए किसी आइटम से मैच होता है.

किसी टेक्स्ट प्रॉपर्टी के विषय के आधार पर स्कोर पर असर डालने के लिए, अपने स्कीमा में टेक्स्ट प्रॉपर्टी पर RetrievalImportance तय करें. ज़्यादा RetrievalImportance वाली प्रॉपर्टी के मैच होने पर, RetrievalImportance कम वाली प्रॉपर्टी के मैच की तुलना में ज़्यादा स्कोर मिलता है.

उदाहरण के लिए, मान लें कि आपके पास एक ऐसा डेटा सोर्स है जिसकी विशेषताएं ये हैं:

  • डेटा सोर्स का इस्तेमाल, सॉफ़्टवेयर से जुड़ी गड़बड़ियों का इतिहास सेव करने के लिए किया जाता है.
  • हर गड़बड़ी का नाम, ब्यौरा, और प्राथमिकता होती है.

ज़्यादातर उपयोगकर्ता, गड़बड़ी के नाम का इस्तेमाल करके इस डेटा सोर्स के बारे में क्वेरी करेंगे, इसलिए आपको स्कीमा में RetrievalImportance को नाम पर HIGHEST पर सेट करना होगा.

इसके उलट, हो सकता है कि ज़्यादातर उपयोगकर्ता गड़बड़ी की जानकारी का इस्तेमाल करके इस डेटा सोर्स के बारे में क्वेरी न करें. इसलिए, ब्यौरे में RetrievalImportance को DEFAULT पर सेट करें. नीचे RetrievalImportance सेटिंग वाले स्कीमा का सैंपल दिया गया है.

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
              }
            }
          },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "label",
            "isRepeatable": true,
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "comments",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
              }
            }
          },
        {
          "name": "project",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGH
              }
            }
          },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

एचटीएमएल दस्तावेज़ों के मामले में, <title> और <h1> जैसे टैग के साथ-साथ फ़ॉन्ट साइज़ और बोल्डिंग जैसी फ़ॉर्मैटिंग सेटिंग का इस्तेमाल, अलग-अलग शब्दों की अहमियत तय करने के लिए किया जाता है. अगर ContentFormat TEXT है, तो ItemContent के लिए DEFAULT डेटा को फिर से हासिल करने की अहमियत है और अगर यह एचटीएमएल है, तो डेटा वापस पाने की अहमियत एचटीएमएल प्रॉपर्टी के आधार पर तय की जाती है.

कॉन्टेंट अपडेट होने की फ़्रीक्वेंसी पर असर डालना

फ़्रेशनेस से यह पता चलता है कि किसी आइटम में हाल ही में कब बदलाव किया गया है. साथ ही, इसे ItemMetadata में मौजूद createTime और updateTime प्रॉपर्टी से तय किया जाता है. खोज के नतीजों में पुराने आइटम की सूची को हटा दिया गया है.

स्कीमा में FreshnessOptions के freshnessProperty और freshnessDuration में बदलाव करके, किसी ऑब्जेक्ट के अपडेट होने की फ़्रीक्वेंसी का पता लगाने के तरीके पर असर डाला जा सकता है.

freshnessProperty से आपको अपडेट होने की फ़्रीक्वेंसी का पता लगाने के लिए, डिफ़ॉल्ट updateTime के बजाय तारीख या टाइमस्टैंप प्रॉपर्टी का इस्तेमाल करने की सुविधा मिलती है.

सॉफ़्टवेयर की गड़बड़ी को ट्रैक करने वाले सिस्टम के हमारे पिछले उदाहरण में, बिल भरने की आखिरी तारीख को freshnessProperty के तौर पर इस्तेमाल किया जा सकता है. ऐसे में, उन आइटम को “फ़्रेज़र” माना जाता है जिनकी वजह से, सामान की डिलीवरी की तारीख करीब है. इससे उनकी रैंकिंग बेहतर होती है. नीचे freshnessProperty सेटिंग वाले स्कीमा का सैंपल दिया गया है:

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate"
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        ...
      ]
    }
  ]
}

freshnessDuration का इस्तेमाल करके यह पता लगाएं कि किसी आइटम को कब पुराना माना जाता है. उदाहरण के लिए, हो सकता है कि आपके पास कोई ऐसा डेटा सोर्स हो जिसे नियमित तौर पर इंडेक्स नहीं किया जाता हो या जिसके लिए आपको रैंकिंग पर असर नहीं डालना हो. freshnessDuration के लिए ज़्यादा वैल्यू तय करके, इस लक्ष्य को हासिल किया जा सकता है.

मान लें कि आपके पास एक डेटा सोर्स है, जिसमें कर्मचारियों की प्रोफ़ाइल की जानकारी है. इस स्थिति में, हो सकता है कि आपको ज़्यादा freshnessDuration की ज़रूरत हो. ऐसा इसलिए, क्योंकि कर्मचारी की जानकारी में किए गए बदलाव, अक्सर कर्मचारी की रैंकिंग के हिसाब से काम के नहीं होते हैं. नीचे freshnessDuration सेटिंग वाली स्कीमा का सैंपल दिया गया है:

{
  "objectDefinitions": [
    {
      "name": "people",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "315360000s", # 100 years
        }
      },
    }
  ]
}

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

{
  "objectDefinitions": [
    {
      "name": "news",
      "options": {
        "freshnessOptions": {
          "freshnessDuration": "259200s", # 3 days
        }
      },
    }
  ]
}

प्रभाव गुणवत्ता

क्वालिटी से यह पता चलता है कि कोई आइटम कितना सटीक और काम का है. एक डेटा सोर्स में शब्दार्थ के हिसाब से एक जैसे कई दस्तावेज़ हो सकते हैं हर दस्तावेज़ की क्वालिटी अलग-अलग होती है. SearchQualityMetadata का इस्तेमाल करके, क्वालिटी की वैल्यू को 0 और 1 के बीच तय किया जा सकता है. ज़्यादा वैल्यू वाले आइटम की रैंकिंग, कम वैल्यू वाले आइटम के मुकाबले ज़्यादा होती है. इस सेटिंग का इस्तेमाल सिर्फ़ तब करें, जब आपको Cloud Search को दी गई जानकारी के अलावा, किसी आइटम की क्वालिटी में सुधार करना हो या उसे बेहतर बनाना हो.

उदाहरण के लिए, मान लें कि आपके पास एक ऐसा डेटा सोर्स है जिसमें कर्मचारियों को मिलने वाले फ़ायदों से जुड़े दस्तावेज़ हैं. SearchQualityMetadata का इस्तेमाल, दूसरे कर्मचारियों के लिखे दस्तावेज़ों की तुलना में मानव संसाधन के कर्मचारियों के लिखे गए दस्तावेज़ों की रैंकिंग बढ़ाने के लिए किया जा सकता है.

बग ट्रैकिंग सिस्टम की समस्याओं के लिए SearchQualityMetadata सेटिंग का नमूना नीचे दिया गया है:

{
  "name": "datasources/.../items/issue1",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 1"
    "objectType": "issues"
  },
  ...
}

{
  "name": "datasources/.../items/issue2",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 2"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 0.5
    }
  },
  ...
}

{
  "name": "datasources/.../items/issue3",
  "acl": {
    ...
  },
  "metadata": {
    "title": "Issue 3"
    "objectType": "issues"
    "searchQualityMetadata": {
      "quality": 1
    }
  },
  ...
}

इस स्कीमा में, जब कोई उपयोगकर्ता खोज के लिए इस्तेमाल किए गए शब्द “समस्या” का इस्तेमाल करके खोज करता है, तो स्कीमा में समस्या 3 की रैंक (क्वालिटी 1), समस्या 2 (.5 की क्वालिटी) और समस्या 1 (अगर कोई जानकारी नहीं दी गई है, तो डिफ़ॉल्ट क्वालिटी 0 होती है).

फ़ील्ड टाइप के इस्तेमाल से असर डालें

Cloud Search की मदद से, ईनम या इंटीजर प्रॉपर्टी की वैल्यू के आधार पर रैंकिंग तय की जा सकती है. हर पूर्णांक या ईनम प्रॉपर्टी के लिए, OrderedRanking तय किया जा सकता है. इस सेटिंग में ये वैल्यू होती हैं:

  • NO_ORDER (डिफ़ॉल्ट): यह प्रॉपर्टी, रैंकिंग पर असर नहीं डालती है.
  • ASCENDING: इस पूर्णांक या ईनम प्रॉपर्टी की ज़्यादा वैल्यू वाले आइटम की रैंकिंग, कम वैल्यू वाले आइटम की तुलना में ज़्यादा होती है.
  • DESCENDING: पूर्णांक या ईनम प्रॉपर्टी की कम वैल्यू वाले आइटम की रैंकिंग, ज़्यादा वैल्यू वाले आइटम की तुलना में ज़्यादा होती है.

उदाहरण के लिए, मान लीजिए कि किसी गड़बड़ी को ट्रैक करने वाले सिस्टम में, हर एक बग की प्राथमिकता को HIGH (1), MEDIUM (2) या LOW (3) के रूप में स्टोर करने के लिए एक enum प्रॉपर्टी है. इस स्थिति में, DESCENDING का OrderedRanking सेट करने से, LOW प्राथमिकता वाली गड़बड़ियों के मुकाबले HIGH प्राथमिकता वाली गड़बड़ियों की रैंकिंग बेहतर होती है. नीचे दिए गए स्कीमा का नमूना दिया गया है, जिसमें गड़बड़ी को ट्रैक करने वाले सिस्टम में आने वाली समस्याओं के लिए, OrderedRanking सेटिंग की जानकारी दी गई है:

{
  "objectDefinitions": [
    {
      "name": "issues",
      "options": {
        "freshnessOptions": {
          "freshnessProperty": "duedate",
        }
      },
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "duedate",
          "datePropertyOptions": {
          }
        },
        {
          "name": "priority",
          "enumPropertyOptions": {
            "possibleValues": [
              {
                "stringValue": "HIGH",
                "integerValue": 1
              },
              {
                "stringValue": "MEDIUM",
                "integerValue": 2
              },
              {
                "stringValue": "LOW",
                "integerValue": 3
              }
            ],
            "orderedRanking": DESCENDING,
          }
        },

        ...
      ]
    }
  ]
}

गड़बड़ी को ट्रैक करने वाले सिस्टम में, votes नाम की इंटीजर प्रॉपर्टी भी हो सकती है. इसका इस्तेमाल, गड़बड़ी के बारे में उपयोगकर्ताओं से सुझाव, राय या शिकायतें इकट्ठा करने के लिए किया जाता है. सबसे ज़्यादा वोट पाने वाले बग को ज़्यादा अहमियत देकर, रैंकिंग बेहतर करने के लिए votes प्रॉपर्टी का इस्तेमाल किया जा सकता है. ऐसे मामले में, votes प्रॉपर्टी के लिए OrderedRanking को ASCENDING के तौर पर तय किया जा सकता है, ताकि सबसे ज़्यादा वोट पाने वाली समस्याओं की रैंकिंग में बढ़ोतरी हो सके. बग ट्रैकिंग सिस्टम में समस्याओं के लिए OrderedRanking सेटिंग वाला नमूना स्कीमा नीचे दिया गया है:

{
  "objectDefinitions": [
    {
      "name": "issues",
      "propertyDefinitions": [
        {
          "name": "summary",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": HIGHEST
            }
          }
        },
        {
          "name": "description",
          "textPropertyOptions": {
            "retrievalImportance": {
              "importance": DEFAULT
            }
          }
        },
        {
          "name": "votes",
          "integerPropertyOptions": {
            "orderedRanking": ASCENDING,
            "minimumValue": 0,
            "maximumValue": 1000,
          }
        },

        ...
      ]
    }
  ]
}

क्वेरी एक्सपैंशन की मदद से रैंकिंग पर असर डालना

क्वेरी एक्सपैंशन का मतलब है, समानार्थी शब्दों और स्पेलिंग का इस्तेमाल करके, क्वेरी में दिए गए शब्दों को बड़ा करना, ताकि बेहतर नतीजे मिल सकें.

खोज के नतीजों को बेहतर बनाने के लिए समानार्थी शब्दों का इस्तेमाल करना

Cloud Search, क्वेरी के शब्दों को बड़ा करने के लिए सार्वजनिक वेब कॉन्टेंट से मिले समानार्थी शब्दों का इस्तेमाल करता है. संगठन से जुड़ी शब्दावली को कैप्चर करने के लिए, कस्टम समानार्थी शब्द भी तय किए जा सकते हैं. जैसे, किसी संगठन में इस्तेमाल होने वाले सामान्य संक्षिप्त नाम या इंडस्ट्री के लिए खास शब्दावली.

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

खोज के नतीजों में मनमुताबिक बदलाव करने के लिए, स्पेलिंग का इस्तेमाल करें

Cloud Search, Google Search के सार्वजनिक डेटा का इस्तेमाल करके बनाए गए मॉडल के आधार पर स्पेलिंग के सुझाव देता है. अगर Cloud Search को किसी क्वेरी के कॉन्टेक्स्ट में गलत स्पेलिंग का पता चलता है, तो वह SpellResult में सुझाई गई क्वेरी दिखाता है. सुझाई गई स्पेलिंग, उपयोगकर्ता को सुझाव के तौर पर दिखाई जा सकती है. उदाहरण के लिए, उपयोगकर्ता क्वेरी शब्द “employe” की गलत स्पेलिंग लिख सकता है और उसे यह सुझाव मिल सकता है कि “क्या आपका मतलब किसी कर्मचारी से है?”

Cloud Search, स्पेल करेक्शन को समानार्थी शब्दों के तौर पर भी इस्तेमाल करता है. इससे ऐसे दस्तावेज़ों को वापस पाने में मदद मिलती है जो स्पेलिंग की गड़बड़ी की वजह से छूट सकते हैं.

खोज ऐप्लिकेशन सेटिंग के ज़रिए रैंकिंग पर असर डालना

जैसा कि Google Cloud Search के बारे में जानकारी में बताया गया है, सर्च ऐप्लिकेशन सेटिंग का एक ग्रुप है. इसे किसी खोज इंटरफ़ेस से जोड़े जाने पर, खोज के बारे में कॉन्टेक्स्ट के हिसाब से जानकारी मिलती है. ये कॉन्फ़िगरेशन आपको खोज ऐप्लिकेशन के ज़रिए रैंकिंग को प्रभावित करने की अनुमति देते हैं:

  • स्कोरिंग का कॉन्फ़िगरेशन
  • डेटा इंपोर्ट करने का कॉन्फ़िगरेशन

नीचे दिए गए दो सेक्शन में बताया गया है कि रैंकिंग को प्रभावित करने में, ये कॉन्फ़िगरेशन कैसे काम के हैं.

स्कोरिंग कॉन्फ़िगरेशन में बदलाव करें

खोज वाले हर ऐप्लिकेशन के लिए, एक ScoringConfig तय किया जा सकता है. इसका इस्तेमाल, रैंकिंग के दौरान कुछ सिग्नल के ऐप्लिकेशन को कंट्रोल करने के लिए किया जाता है. फ़िलहाल, नयापन और मनमुताबिक बनाने की सेटिंग बंद की जा सकती है.

अगर डेटा अपडेट होने की सुविधा बंद है, तो यह सर्च ऐप्लिकेशन में दिए गए सभी डेटा सोर्स के लिए बंद हो जाता है. भले ही, डेटा सोर्स के लिए स्कीमा में अपडेट होने के लिए दिए गए विकल्प कुछ भी हों. इसी तरह, अगर मनमुताबिक अनुभव पाने की सुविधा बंद है, तो मालिक की बढ़ोतरी और इंटरैक्शन बूस्ट से रैंकिंग पर कोई असर नहीं पड़ता.

इस सेटिंग को कॉन्फ़िगर करने के सिलसिलेवार निर्देश पाने के लिए, Cloud Search में खोज अनुभव को पसंद के मुताबिक बनाना देखें.

सोर्स कॉन्फ़िगरेशन में बदलाव करें

सोर्स कॉन्फ़िगरेशन की मदद से, सर्च ऐप्लिकेशन में डेटा सोर्स की सेटिंग तय की जा सकती हैं. ये सेटिंग काम करती हैं:

  • सोर्स की अहमियत
  • क्राउडिंग

स्रोत का महत्व सेट करें

सोर्स की अहमियत का मतलब है, खोज वाले ऐप्लिकेशन में डेटा सोर्स की अहमियत. इस सेटिंग को SourceScoringConfig में SourceImportance फ़ील्ड में बताया जा सकता है. DEFAULT या LOW सोर्स की अहमियत वाले डेटा सोर्स के आइटम की तुलना में, HIGH सोर्स की अहमियत वाले डेटा सोर्स के आइटम की रैंकिंग में बढ़ोतरी होती है. इस सेटिंग का इस्तेमाल उस समय रैंकिंग पर असर डालने के लिए करें जब आपको लगे कि उपयोगकर्ता कुछ डेटा सोर्स से मिलने वाले नतीजों को पसंद करेंगे.

उदाहरण के लिए, मान लें कि आपके पास एक प्रॉडक्ट सहायता पोर्टल है, जिसमें समस्या हल करने से जुड़ा बाहरी और इंटरनल डेटा शामिल है. इस स्थिति में, इंटरनल डेटा सोर्स के नतीजों को प्राथमिकता देने के लिए, अपने सर्च ऐप्लिकेशन को कॉन्फ़िगर करें.

इस सेटिंग को कॉन्फ़िगर करने के सिलसिलेवार निर्देश पाने के लिए, Cloud Search में खोज अनुभव को पसंद के मुताबिक बनाना देखें.

क्राउडिंग सेट करें

क्राउडिंग का मतलब ऐसे नतीजों की ज़्यादा से ज़्यादा संख्या से है, जिन्हें किसी खोज ऐप्लिकेशन में डेटा स्रोत से दिखाया जा सकता है. इस वैल्यू को कंट्रोल करने के लिए, SourceCrowdingConfig में दिए गए numResults फ़ील्ड का इस्तेमाल करें. यह वैल्यू डिफ़ॉल्ट रूप से 3 पर सेट होती है. इसका मतलब है कि अगर हम किसी डेटा सोर्स से तीन नतीजे दिखाते हैं, तो Cloud Search दूसरे डेटा सोर्स से नतीजे दिखाना शुरू कर देता है. पहले डेटा सोर्स के आइटम पर फिर से विचार किया जाता है. ऐसा सिर्फ़ तब किया जाता है, जब सभी डेटा सोर्स अपनी तय की गई सीमा तक पहुंच गए हों या किसी दूसरे डेटा सोर्स से कोई और नतीजा न मिला हो.

इस सेटिंग की मदद से, यह पक्का किया जा सकता है कि अलग-अलग तरह के खोज नतीजे दिखाए जाएं. साथ ही, किसी एक डेटा सोर्स को खोज नतीजों के पेज पर हावी होने से भी रोका जा सकता है.

इस सेटिंग को कॉन्फ़िगर करने के सिलसिलेवार निर्देश पाने के लिए, Cloud Search में खोज अनुभव को पसंद के मुताबिक बनाना देखें.

मनमुताबिक अनुभव देकर रैंकिंग पर असर डालना

मनमुताबिक़ बनाने का विकल्प चुनने पर, खोज के ऐसे नतीजे दिखाए जाते हैं जिन्हें उपयोगकर्ता की पसंद के हिसाब से बनाया जाता है. रैंकिंग को बेहतर बनाने के लिए, इन शर्तों के आधार पर आइटम को प्राथमिकता दी जा सकती है:

  • आइटम का मालिकाना हक
  • आइटम इंटरैक्शन
  • उपयोगकर्ता के क्लिक
  • आइटम की भाषा

नीचे दिए गए तीन सेक्शन में बताया गया है कि इन शर्तों के आधार पर, खोज की क्वालिटी पर कैसे असर डाला जाता है.

आइटम के मालिकाना हक के आधार पर रैंकिंग पर असर डालना

आइटम के मालिकाना हक का मतलब है, खोज क्वेरी करने वाले उपयोगकर्ता के मालिकाना हक वाले आइटम की रैंकिंग को बूस्ट करना. हर आइटम में owners फ़ील्ड के साथ ItemAcl होता है. अगर क्वेरी पर काम करने वाला उपयोगकर्ता किसी आइटम का मालिक है, तो डिफ़ॉल्ट रूप से उस आइटम को रैंकिंग बूस्ट मिलता है. खोज ऐप्लिकेशन में जाकर, नतीजे पाने की सुविधा बंद की जा सकती है.

आइटम इंटरैक्शन के आधार पर रैंकिंग बढ़ाएं

आइटम इंटरैक्शन का मतलब उन आइटम की रैंकिंग बढ़ाने से है जिनके साथ उपयोगकर्ता ने खोज क्वेरी से इंटरैक्ट किया हो. जैसे, देखा, टिप्पणी की, बदलाव किया वगैरह.

Drive और Gmail जैसे Google Workspace के प्रॉडक्ट के लिए, आइटम इंटरैक्शन के सिग्नल अपने-आप मिलते हैं. दूसरे प्रॉडक्ट के लिए, आइटम-लेवल पर इंटरैक्शन का डेटा दिया जा सकता है. इसमें इंटरैक्शन का टाइप (व्यू, बदलाव करना), इंटरैक्शन का टाइमस्टैंप, और मुख्य खाते (आइटम के साथ इंटरैक्ट करने वाला उपयोगकर्ता) की जानकारी शामिल होती है. ध्यान दें कि हाल ही में इंटरैक्शन किए गए आइटम की रैंकिंग बेहतर होती है.

लोगों के क्लिक करने के आधार पर रैंकिंग बेहतर बनाएं

Cloud Search, खोज के मौजूदा नतीजों पर मिले क्लिक इकट्ठा करता है और उसका इस्तेमाल करके, आने वाले समय में की जाने वाली खोजों के लिए रैंकिंग को बेहतर बनाता है. इसके लिए, उन आइटम को बूस्ट किया जाता है जिन पर उसी उपयोगकर्ता ने पहले क्लिक किया था.

क्वेरी की व्याख्या के ज़रिए रैंकिंग पर असर डालें

Cloud Search की क्वेरी की व्याख्या की सुविधा, उपयोगकर्ता की क्वेरी में मौजूद ऑपरेटर और फ़िल्टर को अपने-आप समझने की सुविधा देती है. साथ ही, उन एलिमेंट को स्ट्रक्चर्ड, ऑपरेटर-आधारित क्वेरी में बदल देती है. क्वेरी इंटरप्रिटेशन, इंडेक्स किए गए दस्तावेज़ों के साथ स्कीमा में तय किए गए ऑपरेटर का इस्तेमाल करके यह पता लगाता है कि उपयोगकर्ता की क्वेरी क्या है. इस सुविधा से उपयोगकर्ता कम से कम कीवर्ड के साथ खोज कर सकता है, लेकिन फिर भी सटीक नतीजे पा सकता है. ज़्यादा जानकारी के लिए, क्वेरी को बेहतर तरीके से समझने के लिए स्कीमा का स्ट्रक्चर बनाना देखें.

आइटम की भाषा के आधार पर रैंकिंग बढ़ाएं

भाषा का मतलब है, ऐसे आइटम की रैंकिंग कम करना, जिनकी भाषा क्वेरी की भाषा से मेल नहीं खाती. भाषा के आधार पर आइटम की रैंकिंग पर इन चीज़ों का असर पड़ता है:

  • क्वेरी की भाषा. खोज क्वेरी की अपने-आप पहचानी गई भाषा या RequestOptions में दिया गया languageCode.

    अगर आपको पसंद के मुताबिक सर्च इंटरफ़ेस बनाना है, तो आपको languageCode को उपयोगकर्ता के इंटरफ़ेस की भाषा या पसंद की भाषा (उदाहरण के लिए, वेब ब्राउज़र या सर्च इंटरफ़ेस पेज की भाषा) पर सेट करना चाहिए. अपने-आप पहचानी गई क्वेरी की भाषा को languageCode के मुकाबले ज़्यादा अहमियत दी जाती है. इससे, जब कोई उपयोगकर्ता अपने इंटरफ़ेस से अलग भाषा में क्वेरी टाइप करता है, तब खोज की क्वालिटी से समझौता नहीं होता.

  • आइटम की भाषा. इंडेक्स के समय, ItemMetadata में सेट किया गया contentLanguage या Cloud Search, कॉन्टेंट की भाषा की पहचान अपने-आप करता है.

    अगर किसी दस्तावेज़ के contentLanguage को इंडेक्स करते समय खाली छोड़ दिया जाता है और ItemContent में जानकारी अपने-आप भर जाती है, तो Cloud Search, ItemContent में इस्तेमाल की गई भाषा का पता लगाने की कोशिश करता है और इसे अंदरूनी तौर पर सेव करता है. अपने-आप पहचानी गई भाषा को contentLanguage फ़ील्ड में नहीं जोड़ा गया है.

अगर क्वेरी और आइटम की भाषा मेल खाती है, तो भाषा का दर्जा घटाना लागू नहीं किया जाता. अगर ये सेटिंग मेल नहीं खाती हैं, तो आइटम को अवनत कर दिया जाता है. भाषा की जानकारी कम करने की प्रोसेस उन दस्तावेज़ों पर लागू नहीं होती जिनमें contentLanguage खाली है और Cloud Search अपने-आप उस भाषा का पता नहीं लगा सका. इसलिए, अगर Cloud Search उस दस्तावेज़ की भाषा का पता नहीं लगा पाता है, तो उस दस्तावेज़ की रैंकिंग पर कोई असर नहीं पड़ता.

आइटम के कॉन्टेक्स्ट के आधार पर रैंकिंग बढ़ाएं

उन आइटम की रैंकिंग बढ़ाई जा सकती है जो किसी खोज क्वेरी के कॉन्टेक्स्ट के हिसाब से ज़्यादा काम के हैं. कॉन्टेक्स्ट (contextAttributes) नाम वाले एट्रिब्यूट का एक सेट होता है. इसे इंडेक्स करते समय और खोज के अनुरोध में तय किया जा सकता है. इससे किसी खास खोज क्वेरी का संदर्भ दिया जा सकता है.

उदाहरण के लिए, मान लें कि कोई आइटम, जैसे कि कर्मचारी को मिलने वाले फ़ायदे का दस्तावेज़, Location और Department के हिसाब से ज़्यादा काम का है, जैसे कि शहर (San Francisco), राज्य (California), देश (USA), और Department (Engineering). इस मामले में, आइटम को इन नाम वाले एट्रिब्यूट के साथ इंडेक्स किया जा सकता है:

{
  ...
  "metadata": {
    "contextAttributes": [
      {
        name: "Location"
        values: [
          "San Francisco",
          "California",
          "USA"
        ],
      },
      {
        name: "Department"
        values: [
          "Engineering"
        ],
      }
    ],
  },
  ...
}

जब उपयोगकर्ता सर्च इंटरफ़ेस में "फ़ायदों" से जुड़ी खोज क्वेरी डालता है, तब खोज अनुरोध में उपयोगकर्ता की जगह की जानकारी और डिपार्टमेंट शामिल किया जा सकता है. उदाहरण के लिए, यहां एक खोज अनुरोध दिया गया है, जिसमें शिकागो में इंजीनियर की जगह और विभाग की जानकारी शामिल है:

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Chicago",
        "Illinois",
        "USA"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

इंडेक्स किए गए आइटम और खोज अनुरोध, दोनों में "डिपार्टमेंट=Engineering" और "Location=USA" एट्रिब्यूट शामिल हैं. इसलिए, खोज के नतीजों में इंडेक्स किया गया आइटम (कर्मचारियों की सुविधा से जुड़ा दस्तावेज़) ज़्यादा दिखता है.

अब मान लें कि भारत का कोई इंजीनियर, एक अन्य उपयोगकर्ता, सर्च इंटरफ़ेस में "फ़ायदों" से जुड़ी खोज क्वेरी डालता है. नीचे एक खोज अनुरोध दिया गया है, जिसमें उनके स्थान और विभाग की जानकारी शामिल है:

{
  ...
  "contextAttributes": [
    {
      name: "Location"
      values: [
        "Bengaluru",
        "Karnataka",
        "India"
      ],
    },
    {
      name: "Department"
      values: [
        "Engineering"
      ],
    }
  ],
  ...
}

इंडेक्स किए गए आइटम और खोज के अनुरोध, दोनों में सिर्फ़ "डिपार्टमेंट=इंजीनियरिंग" एट्रिब्यूट शामिल होता है. इसलिए, इंडेक्स किया गया आइटम, खोज के नतीजों में थोड़ा ज़्यादा दिखता है (जब शिकागो इलिनॉय अमेरिका के इंजीनियर की "बेनिफ़िट" की पहली सर्च क्वेरी की तुलना की जाती है).

यहां कुछ ऐसे कॉन्टेक्स्ट के उदाहरण दिए गए हैं जिनका इस्तेमाल, रैंकिंग बढ़ाने के लिए किया जा सकता है:

  • जगह: आइटम, किसी खास जगह, जैसे कि इमारत, शहर, देश या इलाके में रहने वाले उपयोगकर्ताओं के लिए ज़्यादा काम के हो सकते हैं.
  • नौकरी की भूमिका: आइटम किसी खास जॉब में काम करने वाले उपयोगकर्ताओं के लिए ज़्यादा काम के हो सकते हैं, जैसे कि टेक्निकल राइटर या इंजीनियर की भूमिका वाले लोग.
  • डिपार्टमेंट: बिक्री या मार्केटिंग जैसे कुछ डिपार्टमेंट के लिए आइटम ज़्यादा काम के हो सकते हैं.
  • नौकरी का लेवल: आइटम, डायरेक्टर या सीईओ जैसे कुछ जॉब लेवल के लिए ज़्यादा काम के हो सकते हैं.
  • कर्मचारी प्रकार: आइटम कुछ खास तरह के कर्मचारियों के लिए ज़्यादा काम के हो सकते हैं, जैसे कि पार्ट-टाइम और फ़ुल-टाइम कर्मचारी.
  • अवधि: आइटम की जानकारी कर्मचारी के काम के कुल समय के हिसाब से हो सकती है, जैसे कि नया कर्मचारी.

आइटम की लोकप्रियता के हिसाब से रैंकिंग पर असर डालना

Cloud Search, रैंकिंग में लोकप्रिय आइटम को बढ़ावा देता है. इसका मतलब है कि यह उन आइटम को बूस्ट करता है जिन्हें हाल ही की खोज क्वेरी में क्लिक मिले हैं.

क्लिकबूस्ट के ज़रिए रैंकिंग पर असर डालना

Cloud Search, खोज के मौजूदा नतीजों पर मिले क्लिक इकट्ठा करता है और उसका इस्तेमाल, आने वाले समय में की जाने वाली खोजों के लिए रैंकिंग को बेहतर बनाने के लिए करता है. इसके लिए, किसी खोज क्वेरी के लोकप्रिय आइटम को बूस्ट किया जाता है.

सुझाई गई और वैकल्पिक सर्च क्वालिटी सेटिंग के बारे में खास जानकारी

नीचे दी गई टेबल में सर्च क्वालिटी की सुझाई गई और वैकल्पिक सेटिंग की सूची दी गई है. इन सुझावों से, आपको Cloud Search के रैंकिंग मॉडल का ज़्यादा से ज़्यादा फ़ायदा पाने में मदद मिलेगी.

सेटिंगजगहसुझाए गए/वैकल्पिकब्यौरा
स्कीमा की सेटिंग
ItemContent फ़ील्डItemContentफ़ायदेमंद रहेगाअपना स्कीमा बनाते या अपडेट करते समय, किसी आइटम का स्ट्रक्चर नहीं किए गए कॉन्टेंट की जानकारी अपने-आप भर दें. इस फ़ील्ड का इस्तेमाल स्निपेट बनाने के लिए किया जाता है.
RetrievalImportance फ़ील्डRetrievalImportanceफ़ायदेमंद रहेगास्कीमा बनाते या अपडेट करते समय, ऐसी टेक्स्ट प्रॉपर्टी सेट करें जो साफ़ तौर पर ज़रूरी या विषय के बारे में हों.
FreshnessOptionsFreshnessOptionsज़रूरी नहीं हैस्कीमा बनाते या अपडेट करते समय, यह पक्का करें कि गलत डेटा या डेटा मौजूद न होने की वजह से आइटम की परफ़ॉर्मेंस पर असर न पड़े.
इंडेक्स करने की सेटिंग
createTime/updateTimeItemMetadataफ़ायदेमंद रहेगाकिसी आइटम को इंडेक्स करने के दौरान, जानकारी अपने-आप भर जाती है.
contentLanguageItemMetadataफ़ायदेमंद रहेगाकिसी आइटम को इंडेक्स करने के दौरान, जानकारी अपने-आप भर जाती है. मौजूद न होने पर, Cloud Search, ItemContent में इस्तेमाल की गई भाषा का पता लगाने की कोशिश करता है.
owners फ़ील्डItemAcl()फ़ायदेमंद रहेगाकिसी आइटम को इंडेक्स करने के दौरान, जानकारी अपने-आप भर जाती है.
पसंद के मुताबिक समानार्थी शब्द_dictionaryEntry स्कीमाफ़ायदेमंद रहेगाइंडेक्स करने के दौरान, इसे डेटा सोर्स के लेवल पर या अलग डेटा सोर्स के तौर पर तय करें.
quality फ़ील्डSearchQualityMetadataज़रूरी नहीं हैसिमेंटिक तौर पर मिलते-जुलते दूसरे आइटम के मुकाबले बेस क्वालिटी को बूस्ट देने के लिए, इंडेक्स करते समय क्वालिटी सेट करें. डेटा सोर्स के सभी आइटम के लिए इस फ़ील्ड को सेट करने से, इसका असर खत्म हो जाता है.
आइटम-लेवल का इंटरैक्शन डेटाinteractionज़रूरी नहीं हैअगर डेटा सोर्स रिकॉर्ड करता है और उपयोगकर्ता के इंटरैक्शन का ऐक्सेस देता है, तो इंडेक्स करने के दौरान हर आइटम के लिए इंटरैक्शन की जानकारी दें.
पूर्णांक/एनम प्रॉपर्टीOrderedRankingज़रूरी नहीं हैजब आइटम का क्रम ज़रूरी हो, तो इंडेक्स करते समय पूर्णांक और ईनम प्रॉपर्टी के लिए क्रम से लगाई गई रैंकिंग की जानकारी दें.
ऐप्लिकेशन की सेटिंग खोजें
Personalization=falseScoringConfig या CloudSearch एडमिन यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करनाफ़ायदेमंद रहेगाखोज ऐप्लिकेशन बनाते या अपडेट करते समय. पक्का करें कि आपने मालिक की सही जानकारी दी है, जैसा कि मनमुताबिक बनाने की सुविधा के ज़रिए रैंकिंग पर असर डालने वाले सेक्शन में बताया गया है
SourceImportance फ़ील्डSourceCrowdingConfigज़रूरी नहीं हैकुछ डेटा सोर्स के नतीजों को अलग से देखने के लिए, इस फ़ील्ड को सेट करें.
numResults फ़ील्डSourceCrowdingConfigज़रूरी नहीं हैअलग-अलग तरह के नतीजे कंट्रोल करने के लिए, इस फ़ील्ड को सेट करें.

अगले चरण

यहां दिए गए कुछ तरीके आज़माएं:

  1. क्वेरी को बेहतर तरीके से समझने के लिए स्कीमा का स्ट्रक्चर तैयार करें.

  2. आपकी कंपनी में आम तौर पर इस्तेमाल किए जाने वाले शब्दों के लिए समानार्थी शब्द तय करने के लिए, _dictionaryEntry स्कीमा का इस्तेमाल करने का तरीका जानें. _dictionaryEntry स्कीमा का इस्तेमाल करने के लिए, समानार्थी शब्द तय करना देखें.