Elasticsearch की अनूठी डिज़ाइन विशेषताओं में से एक यह है कि अधिकांश पारंपरिक सिस्टम या डेटाबेस के विपरीत, Elasticsearch को जोड़ने और हेरफेर करने जैसे सभी कार्य REST API
का उपयोग करके किए जाते हैं। , जिसका अर्थ है कि आपके Elasticsearch नोड पर निष्पादित लगभग प्रत्येक क्वेरी या कमांड किसी विशेष URL के लिए एक साधारण HTTP अनुरोध है।
HTTP verb
के आधार पर भेजा गया है और जिस URL को क्रिया के लिए भेजा गया है, Elasticsearch नोड या यहां तक कि क्लस्टर पर कई प्रकार की क्रियाएं कर सकता है।
Elasticsearch REST API URL संरचना
सबसे बुनियादी स्तर पर, Elasticsearch में एक कमांड निष्पादित करने के लिए, आपको अपने Elasticsearch नोड के URL पर एक HTTP क्रिया भेजने की आवश्यकता होगी। विकास के लिए, आमतौर पर यह localhost:9200
है ।
अधिकांश . में मामलों में, Elasticsearch के REST API को अनुरोध भेजने का सबसे सरल तरीका उपयोगी कमांड-लाइन टूल, cURL
के माध्यम से है। , जो लगभग किसी भी प्रकार के इंटरनेट डेटा को स्थानांतरित करने के लिए उपयोग किया जाने वाला एक सरल उपकरण है।
उदाहरण के लिए, सभी indices
को सूचीबद्ध करने के लिए , आप निम्न curl
निष्पादित कर सकते हैं आपके विकास सर्वर के शेल प्रांप्ट से कमांड (जैसा कि आधिकारिक दस्तावेज में दर्शाया गया है:
$ curl 'localhost:9200/_cat/indices?v'
health index pri rep docs.count docs.deleted bookstore.size pri.bookstore.size
यहां हम cat API
को एक्सेस कर रहे हैं (अग्रणी _
. द्वारा दर्शाया गया है अंडरस्कोर) और indices
देखना , जो क्लस्टर में प्रत्येक इंडेक्स का क्रॉस-सेक्शन दिखाता है।
सूचकांक, प्रकार, दस्तावेज़ और गुण
एक उदाहरण के साथ, हम इलास्टिक्स खोज आरईएसटी एपीआई की विशिष्ट संरचना का अधिक विस्तार से पता लगा सकते हैं, जिसमें अक्सर तीन संरचित घटक होते हैं, index
, type
, और document
:
localhost:9200/index/type/document
index
मूल संरचना है और इसे केवल database
. के रूप में समझा जाता है जिसमें कई type
होते हैं . और index
किसी भी अवधारणा का प्रतिनिधित्व कर सकता है, लेकिन अक्सर घटकों की एक पूरी प्रणाली का प्रतिनिधित्व करेगा जैसे कि shop
या एक bookstore
।
type
एक indices
. में समाहित हैं और डेटाबेस tables
. के समान हैं , प्रत्येक type
. के साथ समान वस्तुओं के संग्रह का प्रतिनिधित्व करना (जैसे shirt
या book
)।
अंत में, document
माता-पिता की किसी वस्तु का एकल उदाहरण या प्रतिनिधित्व है type
. इस प्रकार, पुस्तक "द हॉबिट" एक पुस्तक . के रूप में मौजूद हो सकती है type
indices
. में नाम किताबों की दुकान ।
इलास्टिक्स खोज से डेटा हटाना
बुनियादी आरईएसटी एपीआई सिंटैक्स के साथ, हम यह पता लगा सकते हैं कि डेटा को हटाने जैसी विशिष्ट क्रियाएं कैसे करें।
एक एकल दस्तावेज़ हटाएं
जैसा कि ऊपर देखा गया है, हमारे मूल सिंटैक्स को लेते हुए, हमें curl
. का उपयोग करने की आवश्यकता है और भेजें DELETE
HTTP क्रिया, -XDELETE
. का उपयोग करके विकल्प:
$ curl -XDELETE 'localhost:9200/index/type/document'
उदाहरण के लिए, हमारी उपरोक्त पुस्तक को हटाने के लिए document
, हम निम्नलिखित कमांड का उपयोग कर सकते हैं:
$ curl -XDELETE 'localhost:9200/bookstore/book/1'
इससे document
मिट जाएगा ID
. के साथ का 1
book
. से type
जो bookstore
. के भीतर है index
।
एक प्रकार हटाएं
जैसा कि आप अनुमान लगा सकते हैं, सिंटैक्स केवल थोड़ा विस्तृत होने के साथ, हम एक संपूर्ण type
को निकालने में सक्षम हैं . यहां हम book
को हटा रहे हैं type
:
$ curl -XDELETE 'localhost:9200/bookstore/book'
एक अनुक्रमणिका हटाएं
अंत में, यदि हम संपूर्ण index
को हटाना चाहते हैं , यह पहले की तरह उसी सिंटैक्स का उपयोग करके किया जा सकता है:
$ curl -XDELETE 'localhost:9200/bookstore'