समझ Index और Mapping में Elasticsearch

ज़रूर! Index यहां और Mapping के लिए स्पष्टीकरण और उदाहरणों का अनुवाद दिया गया है Elasticsearch:

Index में Elasticsearch

एक पारंपरिक डेटाबेस प्रबंधन प्रणाली(डीबीएमएस) में एक डेटाबेस के समान है Index । Elasticsearch यह संबंधित दस्तावेज़ों का संग्रह संग्रहीत करता है। प्रत्येक Index आम तौर पर आपके एप्लिकेशन में एक विशिष्ट प्रकार के डेटा से मेल खाता है। उदाहरण के लिए, एक ई-कॉमर्स एप्लिकेशन में, आप Index उत्पादों के बारे में जानकारी संग्रहीत करने के लिए एक बना सकते हैं, और Index उपयोगकर्ताओं और ऑर्डर के बारे में जानकारी संग्रहीत करने के लिए एक और एप्लिकेशन बना सकते हैं।

डेटा वितरण के लिए प्रत्येक Index को छोटे-छोटे टुकड़ों में विभाजित किया गया है। Elasticsearch एक शार्ड एक छोटा सा हिस्सा है Index, और प्रत्येक शार्ड को एक Elasticsearch क्लस्टर के भीतर एक अलग नोड पर संग्रहीत किया जा सकता है। डेटा को शार्ड में विभाजित करना खोज और क्वेरी प्रदर्शन को अनुकूलित करता है और सिस्टम की स्केलेबिलिटी को बढ़ाता है।

उदाहरण के लिए, एक नया Index नाम बनाने के लिए, आप निम्न कमांड निष्पादित करने के लिए किबाना जैसे एपीआई या प्रबंधन टूल का उपयोग कर सकते हैं products  : Elasticsearch

PUT /products  
{  
  "settings": {  
    "number_of_shards": 3,  
    "number_of_replicas": 2  
  }  
}  

उपरोक्त उदाहरण में, हमने उपलब्धता और डेटा बैकअप सुनिश्चित करने के लिए प्रत्येक में से Index products 3 shard और 2 के साथ एक बनाया है। replica shard

 

Mapping में Elasticsearch

Mapping यह परिभाषित करने की प्रक्रिया है कि Elasticsearch डेटा को कैसे संग्रहीत और संसाधित किया जाता है Index । जब आप किसी नए दस्तावेज़ को जोड़ते हैं Index, Elasticsearch तो इसका उपयोग Mapping दस्तावेज़ में प्रत्येक फ़ील्ड के डेटा प्रकार को निर्धारित करने के लिए किया जाता है। इससे यह Elasticsearch समझने में मदद मिलती है कि विभिन्न क्षेत्रों में डेटा को कैसे संसाधित और खोजा जाए।

उदाहरण के लिए, यदि हमारे पास (उत्पाद नाम) और(उत्पाद मूल्य) फ़ील्ड को क्रमशः टेक्स्ट और फ़्लोट प्रकार के रूप में Index products परिभाषित करना है  , तो हम निम्नलिखित कमांड निष्पादित कर सकते हैं: Mapping name price

PUT /products/_mapping  
{  
  "properties": {  
    "name": {  
      "type": "text"  
    },  
    "price": {  
      "type": "float"  
    }  
  }  
}  

उपरोक्त उदाहरण में, हमने सूचकांक Mapping के लिए परिभाषित किया है products  , जिसमें name  फ़ील्ड में डेटा प्रकार है text और मूल्य फ़ील्ड में डेटा प्रकार है float । यह सुनिश्चित करता है कि जब सूचकांक Elasticsearch के लिए नए दस्तावेज़ प्राप्त होते हैं, तो यह  परिभाषित डेटा प्रकारों के अनुसार "मूल्य" फ़ील्ड को products  संग्रहीत और संसाधित करेगा । name

Index और Mapping डेटा को व्यवस्थित और प्रबंधित करने में महत्वपूर्ण भूमिका निभाते हैं Elasticsearch । वे Elasticsearch डेटा को कुशलतापूर्वक समझने और संसाधित करने, खोज और क्वेरी संचालन को अनुकूलित करने और सिस्टम के लिए लचीली स्केलेबिलिटी क्षमताएं प्रदान करने में मदद करते हैं।