Bool के साथ क्वेरी संयोजित करना
जटिल तर्क के लिए `must`, `should`, `must_not` और `filter` खंडों का उपयोग करके अनेक क्वेरी संयोजित करने वाली `bool` क्वेरी का अध्ययन करें।
Bool के साथ क्वेरी संयोजित करना, CoddyKit पर इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
खोज तर्क को मिलाना
क्वेरी को मिलाने के पाठ में आपका स्वागत है! अब तक हमने खोज की एक-एक शर्त देखी है। लेकिन वास्तविक दुनिया की खोजों में अक्सर कई मापदंडों की आवश्यकता होती है।
जटिल खोज तर्क बनाने के लिए Elasticsearch की bool क्वेरी आपका मुख्य साधन है। यह आपको AND, OR और NOT शर्तों का उपयोग करके कई क्वेरी को मिलाने देती है।
Bool क्वेरी की संरचना
bool क्वेरी अन्य क्वेरी के लिए एक कंटेनर की तरह काम करती है। इसमें चार मुख्य क्लॉज़ होते हैं:
must: इसके अंदर की सभी क्वेरी का मिलान होना चाहिए (AND)।should: इसके अंदर की कम-से-कम एक क्वेरी का मिलान होना चाहिए (OR)।must_not: इसके अंदर की क्वेरी का मिलान NOT होना चाहिए।filter: इसके अंदर की क्वेरी का मिलान होना चाहिए, लेकिन इससे प्रासंगिकता स्कोर प्रभावित नहीं होता।
हम इनमें से प्रत्येक को देखेंगे!
`must`: सभी शर्तों का मिलान आवश्यक
must क्लॉज़ "AND" ऑपरेटर की तरह है। किसी दस्तावेज़ को मिलान माना जाए, इसके लिए must में दी गई सभी क्वेरी सही होनी चाहिए।
सभी must क्लॉज़ को संतुष्ट करने वाले दस्तावेज़ प्रासंगिकता स्कोर में सकारात्मक योगदान देते हैं।
उदाहरण: `must` क्लॉज़
यह क्वेरी उन उत्पादों को खोजती है जो "laptop" AND "gaming" दोनों हैं।
{
"query": {
"bool": {
"must": [
{ "match": { "category": "laptop" } },
{ "match": { "tags": "gaming" } }
]
}
}
}`should`: कम-से-कम एक शर्त
should क्लॉज़ "OR" ऑपरेटर की तरह है। यदि कोई दस्तावेज़ should में दी गई किसी भी क्वेरी से मेल खाता है, तो उसे संभावित मिलान माना जाता है।
कोई दस्तावेज़ जितनी अधिक should क्वेरी से मेल खाता है, उसका प्रासंगिकता स्कोर आम तौर पर उतना ही अधिक होता है।
डिफ़ॉल्ट रूप से, यदि कोई must क्लॉज़ नहीं है, तो दस्तावेज़ लौटाने के लिए कम-से-कम एक should क्लॉज़ का मिलान होना चाहिए।
उदाहरण: `should` क्लॉज़
यह क्वेरी "laptop" OR "tablet" वाले उत्पादों को खोजती है।
{
"query": {
"bool": {
"should": [
{ "match": { "category": "laptop" } },
{ "match": { "category": "tablet" } }
]
}
}
}`must_not`: दस्तावेज़ों को बाहर रखना
must_not क्लॉज़ "NOT" ऑपरेटर की तरह है। must_not के अंदर की किसी भी क्वेरी से मेल खाने वाले दस्तावेज़ परिणामों से बाहर कर दिए जाते हैं।
must_not में मौजूद क्वेरी प्रासंगिकता स्कोर में योगदान नहीं देतीं।
उदाहरण: `must_not` क्लॉज़
यह क्वेरी "refurbished" श्रेणी वाले उत्पादों को छोड़कर सभी उत्पाद खोजती है।
{
"query": {
"bool": {
"must_not": [
{ "match": { "category": "refurbished" } }
]
}
}
}`filter`: तेज़, बिना स्कोर वाला AND
filter क्लॉज़ इस अर्थ में must के समान है कि इसके अंदर की सभी क्वेरी का मिलान होना चाहिए। हालांकि, इसमें एक महत्वपूर्ण अंतर है:
- कोई स्कोर नहीं: फ़िल्टर क्वेरी दस्तावेज़ों के प्रासंगिकता स्कोर को प्रभावित नहीं करतीं।
- कैशिंग: फ़िल्टर क्वेरी अक्सर कैश की जाती हैं, जिससे बार-बार उपयोग किए जाने वाले मापदंडों के लिए वे बहुत तेज़ हो जाती हैं।
"हाँ/नहीं" वाली उन शर्तों के लिए filter का उपयोग करें, जिनमें आप दस्तावेज़ों को शामिल या बाहर करना चाहते हैं, लेकिन उनकी रैंक को प्रभावित नहीं करना चाहते।
उन्नत: कई क्लॉज़
शक्तिशाली और सटीक खोज बनाने के लिए आप इन सभी क्लॉज़ को एक ही bool क्वेरी में मिला सकते हैं। यह उदाहरण निम्नलिखित चीज़ों को खोजता है:
- नाम में "laptop" वाले उत्पाद (
must) - THAT या तो "gaming" OR "ultrabook" हों (
should) - BUT "refurbished" न हों (
must_not) - AND जिनका
status"available" हो (filter)
{
"query": {
"bool": {
"must": { "match": { "name": "laptop" } },
"should": [
{ "match": { "tags": "gaming" } },
{ "match": { "tags": "ultrabook" } }
],
"must_not": { "term": { "condition": "refurbished" } },
"filter": { "term": { "status.keyword": "available" } }
}
}
}जटिल क्वेरी तर्क
लेख खोजने के लिए बनाई गई bool क्वेरी पर विचार कीजिए:
- "Elasticsearch" के बारे में (
must) - "2023" OR "2024" में प्रकाशित (
should) - लेकिन "John Doe" द्वारा लिखे गए नहीं (
must_not)
इस क्वेरी के व्यवहार के संबंध में निम्नलिखित में से कौन-सा कथन TRUE है?
पुनरावलोकन: Bool क्वेरी की शक्ति
बहुत अच्छा! आपने Elasticsearch की bool क्वेरी का उपयोग करके सरल क्वेरी को शक्तिशाली, जटिल खोज तर्क में मिलाना सीख लिया है।
must: सभी शर्तें पूरी होनी चाहिए (AND)।should: कम-से-कम एक शर्त पूरी होनी चाहिए (OR)।must_not: दस्तावेज़ों का इन शर्तों से मिलान NOT होना चाहिए।filter: शर्तें पूरी होनी चाहिए, लेकिन वे प्रासंगिकता को प्रभावित नहीं करतीं (तेज़ और कैश की गई)।
सटीक और प्रभावी खोज अनुप्रयोग बनाने के लिए bool क्वेरी को समझना अत्यंत महत्वपूर्ण है!
एआई शिक्षक के साथ इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Bool के साथ क्वेरी संयोजित करना” पाठ निःशुल्क है?
हाँ — इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “Bool के साथ क्वेरी संयोजित करना” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Bool के साथ क्वेरी संयोजित करना” में मैं क्या सीखूँगा?
जटिल तर्क के लिए `must`, `should`, `must_not` और `filter` खंडों का उपयोग करके अनेक क्वेरी संयोजित करने वाली `bool` क्वेरी का अध्ययन करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।
“Bool के साथ क्वेरी संयोजित करना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर इलास्टिकसर्च और पूर्ण-पाठ खोज प्रणालियाँ पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- क्वेरी DSL का परिचय
- टर्म और मैच क्वेरी
- Bool के साथ क्वेरी संयोजित करना
- फ़िल्टर, रेंज और क्वेरी संदर्भ