2016-09-27 7 views
0

ES 2.4でAPI bulkを使用して新しいインデックスを作成できますか? メソッドPrepareIndexを使用する公式ドキュメントで例を試してみますが、新しいインデックスは追加しません。 管理APIを使用すると、それは問題を解決するため、このインデックスを作成できます。APIを使用してインデックスを作成するJava

public static void main(String[] args) throws IOException 
{ 
    XContentBuilder builder = jsonBuilder() 
      .startObject() 
      .field("user", "kimchy") 
      .field("postDate", new Date()) 
      .field("message", "trying out Elasticsearch") 
      .endObject(); 

    TransportClient client = null; 

    try { 
     client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 
    } catch (UnknownHostException e) { 
     System.out.println("Connection Tcp non valid : machine non reconnu "); 
    } 
    BulkRequestBuilder bulkRequest = client.prepareBulk(); 
    bulkRequest.add(client.prepareIndex("flux","flux1","1").setSource(builder)); 

    builder.flush(); 
    client.close(); 

答えて

0

あなたの弾性検索インスタンスには、自動的にインデックスを作成できないように設定されている可能性があります。つまり、ドキュメントを既存のインデックスに投稿しないと作成されません。あなたのアンドレイありがとう/etc/elasticsearch/elasticsearch.yml

https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html#index-creation

+0

action.auto_create_indexプロパティを探し、それがデフォルトaction.auto_create_indexで、私のために働くことは、私はelasticsearch.ymlでこのparametreを追加しよう.when「真」であると私は真の値との間の移行しますどのマイグレーションでもfalse(ESを再起動しても)の場合は、その違いが分かります。どうもありがとう :) –

関連する問題