वहाँ elasticsearch एपीआई के माध्यम से पता लगाने के लिए एक query string query वास्तव में पार्स किया गया है कोई तरीका है? आप ऐसा कर सकते हैं मैन्युअल रूप से lucene query syntax को देखकर, लेकिन यह वास्तव में अच्छा है अगर आप वास्तविक परिणाम पार्सर है में से कुछ प्रतिनिधित्व पर दिखाई दे सकता है किया जाएगा।elasticsearch को क्वेरी_स्ट्रिंग को पार्स करने का परिणाम कैसे प्राप्त करें?
उत्तर
टिप्पणी में उल्लेख किया javanna के रूप में वहाँ _validate एपीआई। यहाँ अपने स्थानीय लोचदार (संस्करण 1.6) पर काम करता है:
curl -XGET 'http://localhost:9201/pl/_validate/query?explain&pretty' -d'
{
"query": {
"query_string": {
"query": "a OR (b AND c) OR (d AND NOT(e or f))",
"default_field": "t"
}
}
}
'
pl
मेरी क्लस्टर पर सूचकांक का नाम है। अलग-अलग इंडेक्स में अलग-अलग विश्लेषक हो सकते हैं, यही कारण है कि एक सूचकांक के दायरे में क्वेरी सत्यापन निष्पादित किया जाता है।
ऊपर कर्ल का परिणाम पीछा कर रहा है:
{
"valid" : true,
"_shards" : {
"total" : 1,
"successful" : 1,
"failed" : 0
},
"explanations" : [ {
"index" : "pl",
"valid" : true,
"explanation" : "filtered(t:a (+t:b +t:c) (+t:d -(t:e t:or t:f)))->cache([email protected]f1)"
} ]
}
मैंने जान-बूझकर एक OR
लोअरकेस बना दिया है और जैसा कि आप विवरण में देख सकते हैं, यह निशानी के रूप में और नहीं एक ऑपरेटर के रूप में व्याख्या की है।
विवरण की व्याख्या के लिए के रूप में। के समान प्रारूप +-
query string
क्वेरी की operators है:
- (और) वर्ण आरंभ और समाप्ति
bool query
- + उपसर्ग का मतलब खंड है कि
must
- में होगा - उपसर्ग का मतलब खंड है कि
must_not
में होगा
- कोई उपसर्ग का अर्थ यह नहीं है कि यह
should
(default_operator
OR
के बराबर)
तो ऊपर निम्नलिखित के बराबर होगी:
{
"bool" : {
"should" : [
{
"term" : { "t" : "a" }
},
{
"bool": {
"must": [
{
"term" : { "t" : "b" }
},
{
"term" : { "t" : "c" }
}
]
}
},
{
"bool": {
"must": {
"term" : { "t" : "d" }
},
"must_not": {
"bool": {
"should": [
{
"term" : { "t" : "e" }
},
{
"term" : { "t" : "or" }
},
{
"term" : { "t" : "f" }
}
]
}
}
}
}
]
}
}
मैं _validate
एपीआई काफी भारी डिबग परिसर में filtered
प्रश्नों कई शर्तों के साथ इस्तेमाल किया। यह विशेष रूप से उपयोगी होता है यदि आप यह जांचना चाहते हैं कि विश्लेषक टोकनयुक्त इनपुट को यूआरएल की तरह कैसे इनपुट करता है या कुछ फिल्टर कैश किया जाता है।
एक शानदार पैरामीटर rewrite
भी है जो मुझे अब तक पता नहीं था, जिसके कारण स्पष्टीकरण वास्तविक लुसीन क्वेरी को निष्पादित करने के लिए और अधिक विस्तृत होने का कारण बनता है।
- 1. डीईआर बाइट्स को कैसे पार्स करें?
- 2. elasticsearch नोड को पुनरारंभ करें
- 3. डेटाटेबल्स AJAX कॉल से प्राप्त JSON को पार्स कैसे करें?
- 4. elasticsearch-py का उपयोग कर दस्तावेज़ को कैसे अपडेट करें?
- 5. पार्स को सिंक्रोनस को खोजने/सहेजने के लिए कैसे करें?
- 6. sp_executesql परिणाम को एक चर में कैसे प्राप्त करें?
- 7. Elasticsearch
- 8. Elasticsearch में विश्लेषण/टोकनयुक्त क्षेत्र को कैसे क्रमबद्ध करें?
- 9. एक खोज की लंबाई को कैसे प्राप्त करें() परिणाम Ember.js
- 10. इस OFX फ़ाइल को कैसे पार्स करें?
- 11. ईमेल के इरादे को समाप्त करने और परिणाम प्राप्त करने के लिए कैसे प्रतीक्षा करें?
- 12. Buildbot पार्स करने अजगर यूनिट परीक्षण परिणाम
- 13. कैसे ElasticSearch
- 14. मानचित्र में स्ट्रिंग को पार्स करने के लिए कैसे करें
- 15. अनगिनत JSON स्ट्रिंग को पार्स करने के लिए कैसे करें
- 16. xml को हैशपैप में कैसे पार्स करें?
- 17. सी हेडर फ़ाइल को कैसे पार्स करें?
- 18. Elasticsearch EdgeNgram कम परिणाम लौटने से पहले
- 19. शर्तों एकत्रीकरण ElasticSearch को
- 20. एक्सएएमएल पार्स त्रुटियों को कैसे हल करें?
- 21. एक elasticsearch वैश्विक एकत्रीकरण को फ़िल्टर करने के लिए कैसे?
- 22. कॉमा-डिलीमिटेड तर्क सूची को पार्स करने के लिए फ्लेक्स/बाइसन नियमों को कैसे सेट करें
- 23. PHP को PHP में कैसे पार्स करें?
- 24. अद्यतन क्वेरी का केवल परिणाम प्राप्त करें
- 25. RDFLib का उपयोग करके बड़े डेटासेट को कैसे पार्स करें?
- 26. टेक्स्ट दस्तावेज़ को पार्स करने का सबसे अच्छा तरीका
- 27. elasticsearch 5.2.1 के साथ स्प्रिंग बूट को कॉन्फ़िगर कैसे करें?
- 28. ElasticSearch
- 29. Elasticsearch
- 30. mysql डेटा को ElasticSearch रीयलटाइम पर माइग्रेट करने के लिए कैसे करें
क्या आपने अपने खोज अनुरोध में व्याख्या = सही जोड़कर समझा उत्पादन को सक्षम करने का प्रयास किया है? – javanna
@javanna समझाने = सच के प्रयोजन के बाद से बस प्रत्येक व्यक्ति के परिणाम की रेटिंग, उसका अनुमान क्या हो रहा है एक छोटे से मदद करता है समझाने के लिए है। लेकिन मैं विशेष रूप से जटिल मामलों के लिए कुछ स्पष्ट करना पसंद करूंगा। –
ठीक है, फिर [मान्य क्वेरी एपीआई] (http://www.elasticsearch.org/guide/reference/api/validate/) पर एक नज़र डालें, और वहां भी व्याख्या करें, बेहतर होना चाहिए। – javanna