मैंने बड़े डेटा के साथ एक लोचदार खोज क्लस्टर बनाया, और ग्राहक इसे खोज अनुरोध भेज सकता है। कभी-कभी, क्लस्टर को एक अनुरोध से निपटने के लिए अधिक समय लगता है। मेरा सवाल है, क्या निर्दिष्ट एपीआई को मारने के लिए कोई एपीआई है जिसकी कीमत बहुत अधिक है?elasticsearch क्लस्टर पर खोज अनुरोध के धागे को कैसे मारें? क्या ऐसा करने के लिए कुछ एपीआई है?
उत्तर
मैं इस जवाब पर अब अनुवर्ती करना चाहता हूं कि elasticsearch 1.0.0 जारी किया गया है। मुझे यह घोषणा करने में प्रसन्नता हो रही है कि नई कार्यक्षमता पेश की गई है जो सर्किट ब्रेकर नामक ढेर के लिए कुछ सुरक्षा लागू करता है।
वर्तमान कार्यान्वयन के साथ, सर्किट ब्रेकर फ़ील्ड डेटा कैश में कितना डेटा लोड होने जा रहा है, और यदि यह सीमा से अधिक है (डिफ़ॉल्ट रूप से 80%) तो यह सर्किट ब्रेकर की यात्रा करेगा और वहां अपनी क्वेरी को मार कर।
आप अगर आप उन्हें संशोधित करना चाहते हैं स्थापित करने के लिए के लिए दो पैरामीटर हैं:
indices.fielddata.breaker.limit
indices.fielddata.breaker.overhead
भूमि के ऊपर लगातार कि अनुमान लगाने के लिए कितना डेटा क्षेत्र कैश में लोड किया जाएगा इस्तेमाल किया जाता है; यह डिफ़ॉल्ट रूप से 1.03 है।
यह लोचदार खोज के लिए एक रोमांचक विकास है और एक विशेषता जिसे मैं महीनों के लिए लागू करने का इंतजार कर रहा हूं।
यह खींचने का अनुरोध है कि यह कैसे बनाया गया था; यह करने के लिए dakrone के लिए धन्यवाद!
https://github.com/elasticsearch/elasticsearch/pull/4261
आशा इस मदद करता है, MatthewJ
वर्तमान में यह मारने या लंबी चलने वाली प्रश्नों को रोकने के लिए संभव नहीं है, लेकिन Elasticsearch यह करने के लिए एक कार्य प्रबंधन API जोड़ने के लिए जा रहा है। एपीआई को 2016 या बाद में शायद Elasticsearch 5.0 में जोड़ा जा सकता है।
Task management 1 और Task management 2 देखें।
मैं भी इस प्रश्न का उत्तर जानना चाहता हूं; स्रोत के माध्यम से देखने के बाद ईएस में प्रश्नों का प्रबंधन/निगरानी करने का कोई तरीका नहीं प्रतीत होता है, तो अगर कोई यहां चिंतित होता तो अच्छा होगा। – MatthewJ
मैंने Google समूह से भी पूछा, और एक लड़का ने कहा कि मौजूदा अनुरोध को रोक नहीं सकता है और मुझे लंबे समय से चलने वाले अनुरोधों को रोकने के लिए एक क्वेरी पर टाइमआउट सेट करने का सुझाव दिया गया है। – Hoony