मैं elasticsearch-js (नोडजेएस) के साथ काम कर रहा हूं और जब तक लोचदार खोज चल रहा है तब तक सब कुछ ठीक काम करता है। हालांकि, मैं जानना चाहता हूं कि क्लाइंट के तरीकों में से किसी एक को आह्वान करने का प्रयास करने से पहले मेरा कनेक्शन ज़िंदा है। मैं कुछ सिंक्रोनस फैशन में चीजें कर रहा हूं, लेकिन केवल प्रदर्शन परीक्षण के उद्देश्य के लिए (उदाहरण के लिए, जांच करें कि मेरे पास काम करने के लिए खाली इंडेक्स है, कुछ डेटा डालें, डेटा पूछें)। इस तरह एक टुकड़ा को देखते हुए:कैसे जांचें कि लोचदार खोज क्लाइंट कनेक्ट है या नहीं?
var elasticClient = new elasticsearch.Client({
host: ((options.host || 'localhost') + ':' + (options.port || '9200'))
});
// Note, I already have promise handling implemented, omitting it for brevity though
var promise = elasticClient.indices.delete({index: "_all"});
/// ...
वहाँ तेजी से विफल ग्राहक config पर में भेजने के लिए कुछ तंत्र है, या कुछ परीक्षण मैं ग्राहक पर प्रदर्शन कर सकते हैं यकीन है कि यह delete
लागू करने से पहले खुला है बनाने के लिए?
अद्यतन: 2015-05-22
मुझे यकीन है कि अगर यह सही है नहीं कर रहा हूँ, लेकिन शायद ग्राहक आँकड़े प्राप्त करने का प्रयास उचित है?
var getStats = elasticClient.nodes.stats();
getStats.then(function(o){
console.log(o);
})
.catch(function(e){
console.log(e);
throw e;
});
वाया नोड डिबग, मैं वादा अस्वीकार कर देख रहा हूँ जब ElasticSearch नीचे/के साथ दुर्गम है: "Error: No Living connections"
। जब यह कनेक्ट होता है, तो मेरे हैंडलर में o
कनेक्शन स्थिति के बारे में विवरण लगता है। क्या यह दृष्टिकोण सही होगा या कनेक्शन व्यवहार्यता की जांच करने का कोई पसंदीदा तरीका होगा?
यह एक [ज्ञात मुद्दा] (https://github.com/elastic/elasticsearch-js/issues/196) है जो अभी तक अनसुलझा है। – Val