Elasticsearch
एपीआई खोजें
खोज…
परिचय
खोज API आपको खोज क्वेरी निष्पादित करने और क्वेरी से मेल खाने वाले खोज हिट प्राप्त करने की अनुमति देता है। क्वेरी को पैरामीटर के रूप में एक साधारण क्वेरी स्ट्रिंग का उपयोग करके या अनुरोध बॉडी का उपयोग करके प्रदान किया जा सकता है।
रूटिंग
किसी खोज को निष्पादित करते समय, इसे सभी इंडेक्स / इंडेक्स शार्क (प्रतिकृतियों के बीच गोल रॉबिन) में प्रसारित किया जाएगा। राउटर पैरामीटर प्रदान करके किस शार्क को खोजा जा सकता है। उदाहरण के लिए, जब ट्वीट को अनुक्रमित किया जाता है, तो रूटिंग मान उपयोगकर्ता नाम हो सकता है:
curl -XPOST 'localhost:9200/twitter/tweet?routing=kimchy&pretty' -d'
{
"user" : "kimchy",
"postDate" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}'
खोज निकाय का उपयोग करके
खोज डीएसएल का उपयोग करके इलास्टिक्स खोज पर भी किया जा सकता है। खोज अनुरोध के भीतर क्वेरी तत्व क्वेरी डीएसएल का उपयोग करके क्वेरी को परिभाषित करने की अनुमति देता है।
GET /my_index/type/_search
{
"query" : {
"term" : { "field_to_search" : "search_item" }
}
}
बहु खोज
मल्टी_सर्च विकल्प हमें एक साथ कई क्षेत्रों में क्वेरी की खोज करने की अनुमति देता है।
GET /_search
{
"query": {
"multi_match" : {
"query": "text to search",
"fields": [ "field_1", "field_2" ]
}
}
}
हम बूस्ट ऑपरेटर (^) का उपयोग करके कुछ क्षेत्रों के स्कोर को भी बढ़ा सकते हैं, और फ़ील्ड नाम (*) में वाइल्ड कार्ड का उपयोग कर सकते हैं
GET /_search
{
"query": {
"multi_match" : {
"query": "text to search",
"fields": [ "field_1^2", "field_2*" ]
}
}
}
URI खोज, और हाइलाइटिंग
एक खोज अनुरोध को विशुद्ध रूप से URI का उपयोग करके अनुरोध पैरामीटर प्रदान करके निष्पादित किया जा सकता है। इस मोड का उपयोग करके किसी खोज को निष्पादित करते समय सभी खोज विकल्प उजागर नहीं होते हैं, लेकिन यह त्वरित "कर्ल परीक्षणों" के लिए आसान हो सकता है।
GET Index/type/_search?q=field:value
प्रदान की गई एक और उपयोगी विशेषता दस्तावेजों में मैच हिट को उजागर कर रही है।
GET /_search
{
"query" : {
"match": { "field": "value" }
},
"highlight" : {
"fields" : {
"content" : {}
}
}
}
उपरोक्त मामले में, प्रत्येक खोज हिट के लिए विशेष क्षेत्र को हाइलाइट किया जाएगा