आप अपने ES क्लस्टर में दूसरी अनुक्रमणिका बनाकर ऐसा कर सकते हैं। जब कोई उपयोगकर्ता आपके एप्लिकेशन के माध्यम से कोई खोज सबमिट करता है तो आप दो चरणों का पालन करते हैं।
- सामान्य खोज व्यवहार के लिए खोज को Elasticsearch को क्वेरी के रूप में सबमिट करें।
- उपयोगकर्ता द्वारा प्रदान किए गए खोज शब्दों के साथ एक अनुक्रमणिका अनुरोध क्लस्टर को सबमिट करें।
सबमिट किए गए सभी खोज शब्दों की दूसरी अनुक्रमणिका के साथ आप कई साफ-सुथरी चीजें कर सकते हैं। आपके मामले के लिए, आपके पास SQL की तरह ही एक 'गिनती' फ़ील्ड हो सकती है जिसे आप बढ़ते हैं क्योंकि अधिक लोग उस शब्द की खोज करते हैं। एक और बढ़िया उपयोग मामला एक Google शैली अनुशंसित शर्तें है। आपका यूआई प्रत्येक कुंजी प्रेस पर दर्ज टेक्स्ट के साथ एक खोज अनुरोध सबमिट कर सकता है और पहले खोजे गए शब्दों से हिट के साथ एक ड्रॉप डाउन पॉप्युलेट कर सकता है। आप एक उपयोगकर्ता फ़ील्ड जोड़कर और उस विशेष उपयोगकर्ता से नहीं परिणामों को फ़िल्टर करके इसे वैयक्तिकृत भी कर सकते हैं।
ध्यान रखने वाली बात यह है कि ElasticSearch का उपयोग प्राथमिक और द्वितीयक डेटा स्टोर दोनों के रूप में किया जा सकता है। मैं हमेशा सुझाव देता हूं कि आप केवल उस डेटा को रखें जिसे आप खोना चाहते हैं (जैसे खोज इतिहास) प्राथमिक डेटा के रूप में। अपने सिस्टम के महत्वपूर्ण डेटा को SQL जैसे अधिक पारंपरिक डेटा स्टोर में रखें, इस तरह कुछ भी गलत होने पर बैकअप लेना और पुनर्स्थापित करना आसान है!