2011-04-13 14 views
9

मैंने हाल ही में एलैस्टिकसेर्च की खोज की है और मैंने एक नाटक करने का फैसला किया है। दुर्भाग्य से मुझे इंडेक्स जोड़ने में परेशानी हो रही है।लोचदार खोज - शार्ड्स असाइन करना

जोड़ने के लिए एक सूचकांक के रूप में इस प्रकार है और चलाता है हर बार एक नई सूचकांक जोड़े जाने के लिए प्रयास किया गया है इस्तेमाल किया कोड:

public void index (String index, String type, String id, String json){ 
    Node node = null; 
    try{ 
     node = nodeBuilder().node(); 
     Client client = node.client(); 
     IndexResponse response = client.prepareIndex(index, type, id) 
     .setSource(json) 
     .execute() 
     .actionGet(); 
    } 
    catch (Exception e){ 
     Logger.error(e, " Error indexing JSON file: " + json); 
    } 
    finally { 
     if(node != null) 
      node.close(); 
    } 
} 

कोई अनुक्रमणिका दिखाई जोड़े जाने के लिए और मेरे क्लस्टर helath वर्तमान में लाल है (के रूप में एक शार्ड्स लाल है), लेकिन मुझे नहीं पता कि इसे कैसे हल किया जाए। मुझे पुष्टि मिल रही है कि मेरी अनुक्रमणिका प्रत्येक बार जोड़ दी जा रही है लेकिन जब वे खोजे गए या es-admin में दिखाई नहीं देते हैं।

सभी सहायता या विचारों की बहुत सराहना की जाती है।

उत्तर

4

नोड शुरू करते समय, सामान्य सेटिंग्स में से एक यह है कि यह डेटा धारण करना चाहिए या नहीं। दूसरे शब्दों में, सूचकांक और shards को आवंटित किया जाना चाहिए। कई बार हम चाहते हैं कि ग्राहक केवल क्लाइंट हों, बिना उन्हें आवंटित किए गए shards [1]। इस के साथ

node = nodeBuilder().node(); 

:

आप एक गैर डेटा ग्राहक होने के रूप में अपने ग्राहक की स्थापना करना चाहते हैं (कोई टुकड़े) यह इस जगह से तो जैसे स्थापित करने की कोशिश

node = nodeBuilder().client(true).node(); 

[1] http://www.elasticsearch.org/guide/reference/java-api/client.html

संबंधित मुद्दे