मेरे पास अपने दस्तावेज़ों के लिए कई भाषाएं हैं और मैं इस पैटर्न का अनुसरण कर रहा हूं: प्रति भाषा एक अनुक्रमणिका। इसमें वे के साथ सभी सूचकांकों में खोज करने का सुझाव देते हैं

/blogs-*/post/_count

पैटर्न। मेरे मामले के लिए मेरे पास कितने दस्तावेज़ हैं, इसके सूचकांक में मुझे गिनती मिल रही है। मैं एक साथ अपना कोड चला रहा हूं इसलिए एक ही समय में कई अनुरोध कर रहा हूं। अगर मैं खोजता हूँ

/blogs-en/post/_count

या कोई अन्य भाषा तो सब ठीक है। हालांकि अगर मैं खोज करता हूं

/blogs-*/post/_count 

मैं जल्द ही मिलता हूं:

"Error 429 (Too Many Requests): [reduce]  [type=reduce_search_phase_exception]
"

क्या इसके आसपास कोई कार्य है? मेरे द्वारा उपयोग किए जाने पर ध्यान दिए बिना समान संख्या में अनुरोध किए जाते हैं

/blogs-en/post/_count or /blogs-*/post/_count. 

मैंने हमेशा अपने कोड में समान संख्या में श्रमिकों का उपयोग किया है, लेकिन प्रति भाषा एक इंडेक्स रखने के लिए इंडेक्स को फिर से व्यवस्थित करने से अचानक मेरा कोड टूट गया।

संपादित करें: जब मैं प्रोग्राम शुरू करता हूं तो यह बिना किसी दस्तावेज़ के एक नया इंडेक्स है और जब मुझे त्रुटि मिलती है तो मेरे पास लगभग 5,000 दस्तावेज़ होते हैं, इसलिए किसी भी भारी भार के तहत नहीं।

संपादित करें: मैं उपरोक्त संदर्भित लिंक में मिली मैपिंग का उपयोग कर रहा हूं और ईएस के सभी डिफ़ॉल्ट के साथ स्थानीय मशीन पर चल रहा हूं ... मेरे मामले में शार्क = 5 और प्रतिकृतियां = 1। मैं वास्तव में लिंक से उदाहरण का अनुसरण कर रहा हूं।

संपादित करें: त्रुटियों को कम से कम 13-20 अनुरोधों के साथ देखा जाता है और मुझे पता है कि ईएस इससे अधिक संभाल सकता है। /blogs-en/post/_count के बजाय /blogs-*/post/_count, आदि की खोज करना .. बिना किसी त्रुटि के हजारों को आसानी से संभाल सकता है।

एक और संपादन: मैंने सभी समेकन हटा दिए हैं लेकिन त्रुटि मिलने से पहले अभी भी केवल 40-50 अनुरोधों तक पहुंच सकते हैं।

1
user_78361084 15 मई 2017, 07:11
1
HTTP 429 को हिट करते समय, इसका मतलब है कि आपका सर्वर आपके द्वारा भेजे जा रहे प्रश्नों के साथ नहीं रह पा रहा है। आपके सर्वर (सीपीयू, रैम, नेटवर्क) के स्पेक्स क्या हैं? क्या आप curl localhost:9200/_cat/thread_pool?v और curl -XGET 'http://localhost:9200/_nodes/stats से प्राप्त परिणामों को साझा कर सकते हैं?
 – 
Val
18 मई 2017, 06:22
इसके अतिरिक्त @Val ने जो पूछा उससे मुझे पूर्ण त्रुटि संदेश देखने में दिलचस्पी होगी, यह देखने के लिए कि कौन सी कतार भर रही है। साथ ही, अब आपके पास कितने सूचकांक हैं? यह बहु-सूचकांक (एक भाषा प्रति अनुक्रमणिका) से (शायद बहु-भाषा के साथ एक अनुक्रमणिका) से बड़ी चाल है। जबकि पहले मामले में एक इंडेक्स में जाने के लिए केवल एक अनुरोध था, अब आपके पास प्रत्येक इंडेक्स के लिए एक अनुरोध है।
 – 
Andrei Stefan
18 मई 2017, 09:18

1 उत्तर

सबसे बढ़िया उत्तर

मुझे उस अनुरोध के लिए कोई त्रुटि नहीं मिली और यह कुल दस्तावेज़ लौटाता है।
क्या आप क्लस्टर लोड में हैं?
वैसे भी, साधारण एकत्रीकरण का उपयोग करके आप hits.total में कुल दस्तावेज़ संख्या प्राप्त कर सकते हैं और count_per_index परिणाम के भाग में प्रति अनुक्रमणिका दस्तावेज़ गणना प्राप्त कर सकते हैं:

GET /blogs-*/post/_search
{
    "size": 0, 
   "query": {
      "match_all": {}
   },
   "aggs": {
      "count_per_index": {
         "terms": {
            "field": "_index"
         }
      }
   }
}
1
Mohammad Mazraeh 15 मई 2017, 07:28
यह बिना किसी दस्तावेज़ के अभी तक एक नया सूचकांक है और जब मुझे त्रुटि मिलती है तो मेरे पास लगभग 5,000 दस्तावेज़ होते हैं, इसलिए किसी भारी बोझ के तहत नहीं।
 – 
user_78361084
15 मई 2017, 07:26
उफ़! क्या आप मैपिंग और क्लस्टर आर्किटेक्चर प्रदान कर सकते हैं? आप कितने शार्क और प्रतिकृतियों का उपयोग करते हैं? मैं आपके परिणाम को पुन: पेश करना चाहता हूं। साथ ही आज की लॉग फ़ाइल को हटाना और इन कमांडों के लिए शुद्ध लॉग रखने के लिए फिर से कमांड चलाना बहुत मददगार है।
 – 
Mohammad Mazraeh
15 मई 2017, 07:40
मैं उपरोक्त संदर्भित लिंक में मिली मैपिंग का उपयोग कर रहा हूं और ईएस के सभी डिफ़ॉल्ट के साथ स्थानीय मशीन पर चल रहा हूं ... मेरे मामले में शार्क = 5 और प्रतिकृतियां = 1। मैपिंग लिंक से है: elastic। सह/गाइड/hi/इलास्टिक्स खोज/गाइड/वर्तमान/…
 – 
user_78361084
15 मई 2017, 19:13
मुझे लगता है कि _count पहले से ही अत्यधिक अनुकूलित होगा। अगर _count पहले से सबसे अच्छा नहीं है तो आपको ES के साथ एक बग फाइल करनी चाहिए।
 – 
user_78361084
15 मई 2017, 20:42
हाँ `_count' अनुकूलित है। मैंने उपरोक्त लिंक में इंडेक्स और मैपिंग की कोशिश की और यह सही तरीके से काम किया। हो सकता है कि लॉग फ़ाइल आपकी मदद कर सके
 – 
Mohammad Mazraeh
16 मई 2017, 08:04