Cloud Search की क्वेरी इंटरप्रिटेशन सुविधा, उपयोगकर्ता की क्वेरी में मौजूद ऑपरेटर और फ़िल्टर को अपने-आप स्ट्रक्चर्ड और ऑपरेटर पर आधारित क्वेरी में बदल देती है. यह सुविधा, क्वेरी के इंटेंट का पता लगाने के लिए, स्कीमा में तय किए गए ऑपरेटर और इंडेक्स किए गए दस्तावेज़ों का इस्तेमाल करती है. इससे उपयोगकर्ताओं को कम से कम कीवर्ड का इस्तेमाल करके खोजने और सटीक नतीजे पाने में मदद मिलती है.
नतीजे दिखाने का तरीका, आत्मविश्वास पर निर्भर करता है. भरोसे का स्कोर तब बढ़ता है, जब क्वेरी स्ट्रिंग, स्कीमा के किसी खास फ़ील्ड में लगातार दिखती हैं. उदाहरण के लिए, actors फ़ील्ड में "टॉम हैंक्स". जब स्ट्रिंग, सामान्य गद्य में दिखती हैं, तो कॉन्फ़िडेंस कम हो जाता है. ज़्यादा भरोसेमंद नतीजों में, सिर्फ़ व्याख्या किए गए नतीजे दिखते हैं. वहीं, कम भरोसेमंद नतीजों में, उन्हें स्टैंडर्ड कीवर्ड के नतीजों के साथ मिला दिया जाता है.
क्वेरी के मतलब का उदाहरण
फ़िल्म की जानकारी वाला डेटाबेस इस्तेमाल करें. पहली इमेज में, खोज क्वेरी का एक सैंपल और उसकी व्याख्या दिखाई गई है.
इस उदाहरण के लिए, क्वेरी का मतलब:
- यह कुकी, स्कीमा से यह तय करती है कि टॉप-लेवल ऑब्जेक्ट
objecttype:moviesहैं. - यह कुकी, दस्तावेज़ों को स्कैन करती है. इससे यह पता चलता है कि "कार्रवाई" कहां होती है. अगर यह मुख्य रूप से
genreफ़ील्ड में दिखता है, तो इस बात की संभावना बढ़ जाती है कि यह उस फ़ील्ड के लिए प्रॉपर्टी वैल्यू है.
इसकी व्याख्या यह है:
actor:"tom hanks" genre:action objecttype:movies
क्वेरी इंटरप्रिटेशन की सुविधा सभी उपयोगकर्ताओं के लिए अपने-आप चालू होती है. हालांकि, इसे ऑप्टिमाइज़ किया जा सकता है. इसके लिए, अपने स्कीमा को इस तरह से स्ट्रक्चर करें जैसा कि यहां बताया गया है.
क्वेरी को समझने के लिए, अपने स्कीमा को स्ट्रक्चर करें
अपने स्कीमा को ऑप्टिमाइज़ करने से, क्वेरी इंटरप्रेट करने की सुविधा का फ़ायदा मिलता है.
डिसप्ले नेम के मतलब दिखाने की सुविधा चालू करना
क्वेरी का मतलब समझने के लिए, objectDefinitions और propertyDefinitions का इस्तेमाल किया जाता है. प्रॉपर्टी के लिए displayLabel, ऑब्जेक्ट के लिए objectDisplayLabel, और ऑपरेटर के लिए operatorName का इस्तेमाल करके, आसानी से समझ में आने वाले डिसप्ले नेम बनाएं.
इस उदाहरण में, किसी मूवी ऑब्जेक्ट के लिए सहज डिसप्ले नेम दिखाए गए हैं:
{
"objectDefinitions": [{
"name": "movie",
"options": {
"displayOptions": { "objectDisplayLabel": "Films" }
},
"propertyDefinitions": [{
"name": "genre",
"isReturnable": true,
"textPropertyOptions": {
"operatorOptions": { "operatorName": "genre" }
},
"displayOptions": { "displayLabel": "Category" }
}]
}]
}
इन डिसप्ले नेम से इस तरह की व्याख्याएं की जा सकती हैं:
- "ऐक्शन फ़िल्में" ->
genre:action object:movies - "ऐक्शन या थ्रिलर शैली वाली फ़िल्में" ->
objecttype:movies genre:(action OR thriller) - "कॉमेडी कैटगरी की फ़िल्में" ->
genre:comedy objecttype:movies
तारीख, संख्या, और क्रम से लगाने की सुविधा चालू करना
तारीख और संख्या वाली सभी प्रॉपर्टी के लिए, IntegerOperatorOptions में lessThanOperatorName और greaterThanOperatorName के बारे में जानकारी दें. क्रम से लगाने की सुविधा चालू करने के लिए, isSortable सेट करें.
इस उदाहरण में, इन विकल्पों को चालू किया गया है:
{
"objectDefinitions": [{
"propertyDefinitions": [
{
"name": "runtime",
"isSortable": true,
"integerPropertyOptions": {
"operatorOptions": {
"operatorName": "runtime",
"lessThanOperatorName": "runtimelessthan",
"greaterThanOperatorName": "runtimegreaterthan"
}
}
},
{
"name": "releasedate",
"isSortable": true,
"datePropertyOptions": {
"operatorOptions": {
"operatorName": "releasedate",
"lessThanOperatorName": "releasedbefore",
"greaterThanOperatorName": "releasedafter"
}
}
}
]
}]
}
इन सेटिंग से, इस तरह की व्याख्याएं की जा सकती हैं:
- "इस साल रिलीज़ हुई फ़िल्में" ->
objecttype:movies releasedafter:2019-1-1 releasedbefore:2019-12-31 - "90 मिनट से कम अवधि वाली फ़िल्में" ->
objecttype:movies runtimelessthan:90
ऑपरेटर के लिए, आरक्षित की गई व्याख्या की सुविधा चालू करना
type, before, after, और objecttype जैसे बिल्ट-इन ऑपरेटर इस्तेमाल करें:
beforeऔरafterका इस्तेमाल करने के लिए,ItemMetadataमेंupdateTimeभरें.- अपने-आप पता लगाने की सुविधा के लिए,
ItemMetadataमेंmimeTypeकी जानकारी भरें. उदाहरण के लिए, "ऐक्शन वीडियो" में, वीडियो एमआईएमई टाइप वाले दस्तावेज़ों की सूची होती है.
क्वेरी को समझने से जुड़ी सीमाएं
- यह सिर्फ़ इन डेटा सोर्स की एएलसी के लिए काम करता है:
- डोमेन सार्वजनिक है.
- डेटा सोर्स सार्वजनिक है.
- ज़्यादातर दस्तावेज़ों में, इनहेरिट किया गया एक ही ACL शेयर किया जाता है.
- ऑपरेटर के नाम शेयर किए गए हैं (जैसे,
priorityऔरseverityदोनों में 0-3 का इस्तेमाल किया गया है) कम कॉन्फ़िडेंस. - डिफ़ॉल्ट रूप से, इंटरप्रेटेशन में फ़ील्ड वैल्यू के लिए छोटे अक्षरों का इस्तेमाल किया जाता है. हालांकि,
exactMatchWithOperatorका इस्तेमाल करके इसे बदला जा सकता है. sourceऑपरेटर का इस्तेमाल नहीं किया जा सकता.- ऑपरेटर और फ़्री-टेक्स्ट शब्दों (जैसे, "p0 cases severity:s0") को एक साथ इस्तेमाल करने पर, उन्हें नहीं समझा जाता.
- नतीजों को हमेशा, काम के हिसाब से रैंक किए गए नतीजों के साथ मिलाया जाता है.