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

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

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

  • स्ट्रक्चर्ड मेटाडेटा
  • ऐसा कॉन्टेंट जिसे इंडेक्स किया जा सकता है
  • ACL

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

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

विषय के हिसाब से स्कोर पर असर डालें

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

  • क्वेरी के हर शब्द की अहमियत.
  • हिट की संख्या (आइटम के कॉन्टेंट या मेटाडेटा में क्वेरी के लिए इस्तेमाल किए गए शब्द की संख्या).
  • क्वेरी के लिए इस्तेमाल किए गए शब्द और उनके वैरिएंट का टाइप, 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
    }
  },
  ...
}

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

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

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

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

उदाहरण के लिए, मान लें कि किसी बग ट्रैकिंग सिस्टम में हर गड़बड़ी में एक enum प्रॉपर्टी है, जो गड़बड़ी की प्राथमिकता को HIGH (1), MEDIUM (2) या LOW (3) के तौर पर स्टोर करती है. ऐसी स्थिति में, 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 के बारे में जानकारी में बताया गया है, 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 की तुलना में, अपने-आप पहचानी गई क्वेरी लैंग्वेज को प्राथमिकता दी जाती है. इसलिए, जब कोई उपयोगकर्ता किसी ऐसी भाषा में क्वेरी टाइप करता है जो अपने इंटरफ़ेस से अलग है, तो खोज की क्वालिटी पर असर नहीं पड़ता.

  • आइटम की भाषा. इंडेक्स करते समय contentLanguage को ItemMetadata में सेट किया जाता है या 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"
      ],
    }
  ],
  ...
}

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

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

{
  ...
  "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ज़रूरी नहींअगर डेटा सोर्स, उपयोगकर्ता के इंटरैक्शन रिकॉर्ड करता है और उनका ऐक्सेस देता है, तो इंडेक्स करने के दौरान हर आइटम के लिए इंटरैक्शन की जानकारी अपने-आप भर जाती है.
पूर्णांक/enum प्रॉपर्टीOrderedRankingज़रूरी नहींअगर आइटम का क्रम सही हो, तो इंडेक्स करते समय, पूर्णांक और ईनम प्रॉपर्टी के लिए क्रम वाली रैंकिंग तय करें.
Search ऐप्लिकेशन की सेटिंग
Personalization=falseScoringConfig या CloudSearch एडमिन यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करकेफ़ायदेमंद रहेगाखोज ऐप्लिकेशन बनाते या अपडेट करते समय. पक्का करें कि आपने मालिक की सही जानकारी दी है. इसके बारे में, मनमुताबिक कॉन्टेंट की सेटिंग से रैंकिंग पर असर डालने में बताया गया है
SourceImportance फ़ील्डSourceCrowdingConfigज़रूरी नहींकुछ डेटा सोर्स से मिलने वाले नतीजों का मापदंड तय करने के लिए, इस फ़ील्ड को सेट करें.
numResults फ़ील्डSourceCrowdingConfigज़रूरी नहींअलग-अलग तरह के नतीजों को कंट्रोल करने के लिए, यह फ़ील्ड सेट करें.

अगले चरण

यहां कुछ ऐसे तरीके बताए गए हैं जिन्हें आज़माया जा सकता है:

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

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