ElasticSearch插入数据
2015-06-17 11:05
260 查看
插入数据代码如下所示:
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,可能造成数据的重复存储,强烈建议指定该函数
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,可能造成数据的重复存储,强烈建议指定该函数
相关文章推荐
- Objective-C中的内存管理
- (error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk.
- zTree默认选中指定节点并执行事件
- Intent 显示意图 隐式意图
- 黑马程序员----Java基础之String类
- matlab 计算连通域
- GRE作文备考——智力的定义及其四大因素
- [翻译]Swift编程语言——可选类型链
- hibernate 映射关系—总纲
- 二叉树
- 电脑故障及解决实战
- 《开源框架那点事儿15》:借船下海还是造船下海
- STL容器与拷贝构造函数
- HttpClient
- Android资源使用详解(二)
- javascript中top、clientTop、scrollTop、offsetTop的讲解
- hdu 3926 Hand in Hand
- runtime hook
- oracle数据库中varchar2陷阱
- VisualStudio统计代码行数