2012-11-28 12 views
11

इंडेक्स क्वेरी करने के लिए आप किस यूआरएल का उपयोग करते हैं?ElasticSearch में इंडेक्स क्वेरी कैसे करें?

मैं यहां निम्नलिखित देखता हूं, लेकिन यह भी करने के लिए यूआरएल क्या है? http://www.elasticsearch.org/guide/reference/query-dsl/indices-query.html

एक ही तरीका है मुझे पता है कि लोचदार खोज में क्वेरी करने के लिए यूआरआई के साथ है:

http://localhost:9200/myindex 

मुद्दा रहा है मैं अलग दस्तावेजों myindex1 myindex2 myindex3

के साथ कई अनुक्रमित है हो रहा है

और मैं सिर्फ myindex1 और myindex2 (या सिर्फ myindex2 और myindex3) पर कोई क्वेरी करने में सक्षम होना चाहता हूं

क्या यह संभव है? इसके अलावा, आप match_all क्वेरी या शर्तें क्वेरी की तरह QueryDSL साथ सूचकांक क्वेरी गठजोड़ कर सकते हैं:

http://www.elasticsearch.org/guide/reference/query-dsl/terms-query.html

एक नमूना URL का एक उदाहरण दिखाने कृपया, और क्या अनुरोध के शरीर में चला जाता है यदि संभव हो तो तो मैं एक विचार प्राप्त कर सकते हैं ।

उत्तर

7

आप समझ प्लगइन आप इस

POST myindex1/_search 
{ 
"query": {"match_all": {}} 
} 
16

आप की कोशिश कर सकते:

curl http://localhost:9200/myindex1,myindex2/_search?q=* 

या

curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{ 
    // your query here 
}' 

यह है कि आप क्या देख रहे हैं?

6

आप इसे दो अलग-अलग तरीकों से कर सकते हैं।

1) myindex1 और myindex2 पर एक सूचकांक क्वेरी के साथ title फ़ील्ड पर एक क्वेरी क्वेरी के साथ।

curl -XPOST http://localhost:9200/_search -d '{ 
    "query": { 
    "indices": { 
     "indices": [ 
     "myindex1", 
     "myindex2" 
     ], 
     "query": { 
     "terms": { 
      "title": [ 
      "foo", 
      "bar" 
      ] 
     } 
     } 
    } 
    } 
}' 

2) उन इंडेक्स को निर्दिष्ट करके जिन्हें आप यूआरआई में खोजना चाहते हैं (उसी सटीक शब्द क्वेरी के साथ)।

curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{ 
    "query": { 
    "terms": { 
     "title": [ 
     "cookies", 
     "cake" 
     ] 
    } 
    } 
}' 
दो उदाहरणों में से एक में

और हाँ, यदि आप एक match_all क्वेरी के लिए शर्तों क्वेरी बाहर स्वैप कर सकते हैं (या किसी अन्य क्वेरी here, वास्तव में)। यहां बताया गया है कि आप दूसरे उदाहरण में match_all क्वेरी कैसे करेंगे:

curl -XPOST http://localhost:9200/myindex1,myindex2/_search -d '{ 
    "query": { 
    "match_all": {} 
    } 
}' 
+1

सूचकांक की तरह लिख सकते हैं उपयोग कर रहे हैं: क्वेरी ElasticSearch 5 में पदावनत किया गया है –

1

मैं लोचदार-सिर प्लगइन स्थापित करने की अनुशंसा करता हूं। उस इंटरफ़ेस पर तीसरे टैब में एक क्वेरी बिल्डर है। आप एक इंडेक्स का चयन कर सकते हैं, एक क्वेरी बना सकते हैं, और इसे उत्पन्न डीएसएल क्वेरी पर नज़र डालें। यह डीएसएल क्वेरी सिंटैक्स पर गति प्राप्त करने का एक त्वरित तरीका है।

http://mobz.github.io/elasticsearch-head/

संबंधित मुद्दे