首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

6.分布式搜索elasticsearch java API -批量添加剔除索引

2013-11-09 
6.分布式搜索elasticsearch java API ------批量添加删除索引elasticsearch支持批量添加或删除索引文档,ja

6.分布式搜索elasticsearch java API ------批量添加删除索引

elasticsearch支持批量添加或删除索引文档,java api里面就是通过构造BulkRequestBuilder,然后把批量的index/delete请求添加到BulkRequestBuilder里面,执行BulkRequestBuilder。下面是个例子:

[java]?view plaincopy
  1. import?static?org.elasticsearch.common.xcontent.XContentFactory.*;???
  2. ???????????
  3. ????????BulkRequestBuilder?bulkRequest?=?client.prepareBulk();???
  4. ???????????
  5. ????????bulkRequest.add(client.prepareIndex("twitter",?"tweet",?"1")???
  6. ????????????????.setSource(jsonBuilder()???
  7. ????????????????????????????.startObject()???
  8. ????????????????????????????????.field("user",?"kimchy")???
  9. ????????????????????????????????.field("postDate",?new?Date())???
  10. ????????????????????????????????.field("message",?"trying?out?Elastic?Search")???
  11. ????????????????????????????.endObject()???
  12. ??????????????????????????)???
  13. ????????????????);???
  14. ???????????
  15. ????????bulkRequest.add(client.prepareIndex("twitter",?"tweet",?"2")???
  16. ????????????????.setSource(jsonBuilder()???
  17. ????????????????????????????.startObject()???
  18. ????????????????????????????????.field("user",?"kimchy")???
  19. ????????????????????????????????.field("postDate",?new?Date())???
  20. ????????????????????????????????.field("message",?"another?post")???
  21. ????????????????????????????.endObject()???
  22. ??????????????????????????)???
  23. ????????????????);???
  24. ???????????????????
  25. ????????BulkResponse?bulkResponse?=?bulkRequest.execute().actionGet();???
  26. ????????if?(bulkResponse.hasFailures())?{???
  27. ????????????//处理错误???
  28. ????????} ?

参考资料:http://www.elasticsearch.org/guide/reference/java-api/bulk.html

热点排行