Elasticsearch
विश्लेषक
खोज…
टिप्पणियों
विश्लेषक एक स्ट्रिंग फ़ील्ड से टेक्स्ट लेते हैं और टोकन बनाते हैं जो क्वेरी करते समय उपयोग किया जाएगा।
एक विश्लेषक एक क्रम में काम करता है:
-
CharFilters(शून्य या अधिक) -
Tokenizer(एक) -
TokenFilters(शून्य या अधिक)
विश्लेषक को मैपिंग के लिए लागू किया जा सकता है ताकि जब खेतों को अनुक्रमित किया जाए, तो यह एक संपूर्ण टोकन के बजाय स्ट्रिंग के आधार पर किया जाता है। क्वेरी करते समय, इनपुट स्ट्रिंग को विश्लेषक के माध्यम से भी चलाया जाएगा। इसलिए, यदि आप विश्लेषक में पाठ को सामान्य करते हैं, तो यह हमेशा मेल करेगा भले ही क्वेरी में गैर-सामान्यीकृत स्ट्रिंग हो।
मानचित्रण
एक विश्लेषक "विश्लेषक" का उपयोग करके मैपिंग पर लागू किया जा सकता है, डिफ़ॉल्ट रूप से "मानक" विश्लेषक का उपयोग किया जाता है। वैकल्पिक रूप से, यदि आप किसी विश्लेषक का उपयोग नहीं करना चाहते (क्योंकि टोकन या सामान्यीकरण उपयोगी नहीं होगा) तो आप "इंडेक्स": "not_analyzed" निर्दिष्ट कर सकते हैं
PUT my_index
{
"mappings": {
"user": {
"properties": {
"name": {
"type": "string"
"analyzer": "my_user_name_analyzer"
},
"id": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
मल्टी क्षेत्रों
कभी-कभी यह अलग-अलग एनालाइज़र के साथ एक क्षेत्र के कई अलग-अलग अनुक्रमित होने के लिए उपयोगी हो सकता है। आप ऐसा करने के लिए बहु-फ़ील्ड क्षमता का उपयोग कर सकते हैं।
PUT my_index
{
"mappings": {
"user": {
"properties": {
"name": {
"type": "string"
"analyzer": "standard",
"fields": {
"special": {
"type": "string",
"analyzer": "my_user_name_analyzer"
},
"unanalyzed": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
जब क्वेरी करने के बजाय, केवल "user.name" (जो इस स्थिति में अभी भी स्टैनर्ड एनालाइज़र का उपयोग करेगा) का उपयोग करके आप "user.name.special" या "user.name.unanalyzed" का उपयोग कर सकते हैं। ध्यान दें कि दस्तावेज़ अपरिवर्तित रहेगा, यह केवल अनुक्रमण को प्रभावित करता है।
विश्लेषक
जब आप अपने सूचकांक में डेटा का विश्लेषण करने के लिए तैयार हैं, तो इलास्टिक्स खोज का विश्लेषण संदर्भ में आता है।
एनालाइज़र हमें निम्नलिखित प्रदर्शन करने की अनुमति देते हैं:
- लघुरूप
- स्टेमिंग
- टाइपो हैंडलिंग
हम उनमें से प्रत्येक को अब देख रहे होंगे।
संकेतन :
विश्लेषणकर्ताओं का उपयोग करते हुए, हम इलास्टिक्स खोज को बता सकते हैं कि हमारे डेटा में संक्षिप्त उपचार कैसे किया जाता है अर्थात डॉ = डॉक्टर इसलिए जब भी हम अपने इंडेक्स में डॉक्टर कीवर्ड खोजते हैं, तो इलास्टिक्स खोज उन परिणामों को भी वापस कर देगा जो उनके द्वारा उल्लिखित ड्र में हैं।
स्टेमिंग :
एनालाइज़र में स्टेमिंग का उपयोग करने से हमें संशोधित क्रियाओं जैसे आधार शब्दों का उपयोग करने की अनुमति मिलती है
शब्द संशोधन की आवश्यकता होती है आवश्यकता, आवश्यक
टाइपो हैंडलिंग :
विश्लेषक यह बताते हुए भी टाइपो हैंडलिंग प्रदान करते हैं यदि हम विशेष शब्द 'पुनरुत्थान' की खोज कर रहे हैं, तो इलास्टिक्स खोज उन परिणामों को लौटाएगा जिसमें टाइपोस मौजूद हैं। यह टाइपो को वैसा ही व्यवहार करेगा, जैसा कि पुनर्संरचना और उसी के परिणाम को फिर से लिखेगा।
शब्द संशोधन जी उठने resurection, जी उठने
एलेस्टिक्स में एनालाइजर
मानक
सरल
श्वेत रिक्ति
रुकें
कीवर्ड
पैटर्न
भाषा: हिन्दी
स्नोबॉल
केस एनालाइजर को नजरअंदाज करें
कभी-कभी, हमें दस्तावेज़ में मैच के संबंध में, हमारी क्वेरी के मामले को अनदेखा करना पड़ सकता है। खोज करते समय मामले की अनदेखी करने के लिए इस मामले में एक विश्लेषक का उपयोग किया जा सकता है। प्रत्येक क्षेत्र में इस विश्लेषक को काम करने के लिए, इसमें संपत्ति को समाहित करना होगा:
"settings": {
"analysis": {
"analyzer": {
"case_insensitive": {
"tokenizer": "keyword",
"filter": ["lowercase"]
}
}
}
}