term
क्वेरी एक शब्द से मेल खाता है क्योंकि यह है: मान का विश्लेषण नहीं किया गया है । इसलिए, यह आपके द्वारा अनुक्रमित किए गए के आधार पर नीचा नहीं होना चाहिए।
यदि आपने Bennett
सूचकांक समय पर प्रदान किया है और मूल्य का विश्लेषण नहीं किया गया है, तो निम्नलिखित क्वेरी कुछ भी वापस नहीं करेगी:
{
"query": {
"term" : { "user" : "bennett" }
}
}
match_phrase
क्वेरी इनपुट का विश्लेषण करेगी यदि एनालाइजर क्वियर फील्ड के लिए परिभाषित किए गए हैं और निम्नलिखित मानदंड से मेल खाते दस्तावेज ढूंढते हैं:
- सभी नियम फ़ील्ड में दिखाई देने चाहिए
- उनके पास इनपुट मूल्य के समान क्रम होना चाहिए
उदाहरण के लिए, यदि आप निम्नलिखित दस्तावेजों को standard
सूचीबद्ध करते हैं ( क्षेत्र के लिए विश्लेषक का उपयोग करके foo
):
{ "foo":"I just said hello world" }
{ "foo":"Hello world" }
{ "foo":"World Hello" }
यह match_phrase
क्वेरी केवल पहले और दूसरे दस्तावेज़ लौटाएगी:
{
"query": {
"match_phrase": {
"foo": "Hello World"
}
}
}
query_string
क्वेरी खोज, डिफ़ॉल्ट रूप से, _all फ़ील्ड पर जिसमें एक ही बार में कई टेक्स्ट फ़ील्ड का पाठ होता है। इसके शीर्ष पर, इसे पार्स किया गया है और कुछ ऑपरेटरों (और / या ...), वाइल्डकार्ड्स और इतने पर ( संबंधित सिंटैक्स देखें ) का समर्थन करता है।
match_phrase
प्रश्नों के रूप में , इनपुट का विश्लेषण क्वेरिड फ़ील्ड पर निर्धारित विश्लेषक के अनुसार किया जाता है।
match_phrase
विश्लेषण के बाद प्राप्त शर्तों के विपरीत , उसी क्रम में नहीं होना चाहिए, जब तक कि उपयोगकर्ता ने इनपुट के आस-पास के उद्धरणों का उपयोग न किया हो।
उदाहरण के लिए, पहले के समान दस्तावेज़ों का उपयोग करके, यह क्वेरी सभी दस्तावेज़ों को वापस कर देगी:
{
"query": {
"query_string": {
"query": "hello World"
}
}
}
लेकिन यह क्वेरी क्वेरी के समान 2 दस्तावेज़ match_phrase
लौटाएगी:
{
"query": {
"query_string": {
"query": "\"Hello World\""
}
}
}
उन प्रश्नों के विभिन्न विकल्पों के बारे में कहने के लिए बहुत कुछ है, कृपया संबंधित प्रलेखन पर एक नज़र डालें:
उम्मीद है कि यह काफी स्पष्ट है और इससे मदद मिलेगी।