ElasticSearch插入数据

插入数据代码如下所示:

public static void buildBulkIndex(List<Product> products)
   throws IOException {
  Client client = ElasticSearchClient.getClient();
  BulkRequestBuilder bulkRequest = client.prepareBulk();
  // either use Es_Setting.client#prepare, or use Requests# to directly
  // build index/delete requests
  int i = 0;
  for (Product product : products) {
       bulkRequest.add(client.prepareIndex("product", "wxt").setId("0000"+i)
         .setSource(   CreateData.getXContentBuilder(product))); 
       i++;
  }

在以上代码中, prepareIndex表示将要插入的数据的index和type,getXContentBuilder方法将对象product解析成json形式,需要强调的一点是setId方法可以指定index中的_Id字段的值,否则的话,es会自动生成id,可能造成数据的重复存储,强烈建议指定该函数

你可能感兴趣的:(ElasticSearch插入数据)