版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
相关配置: SpringBoot知识体系(四)springboot整合Elasticsearch(1)
1.操作索引
1.1 创建索引
IndexResponse response = this.esClient.prepareIndex(INDEX_NAME, INDEX_TYPE)
.setSource(objectMapper.writeValueAsBytes(indexTemplate)).get();
1.1.1 设置内容
文档内容这里使用 Jackson进行序列化(objectMapper.writeValueAsBytes(indexTemplate)
)
官方推荐的其他设置内容方式:
- 自己使用字符串JSON
- 使用Map
- Elasticsearch提供的内置XContentBuilder
json示例:
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
1.1.2 IndexResponse 对象
//索引名称
String _index = response.getIndex();
//类型名称
String _type = response.getType();
//文档ID(是否生成)
String_id = response.getId();
//版本(如果这是您第一次将此文档编入索引,则将获得:1)
long _version = response.getVersion();
//如果文档是新文档,则isCreated()为true,如果文档已更新,则为false
boolean created = response.isCreated();
1.2 更新索引
UpdateResponse response = this.esClient.prepareUpdate(INDEX_NAME, INDEX_TYPE, esId).
setDoc(objectMapper.writeValueAsBytes(indexTemplate)).get();
1.3 删除索引
DeleteRequestBuilder deleteBuilder = this.esClient.prepareDelete(INDEX_NAME,INDEX_TYPE,esId);
1.3.1 获取影响总数
使用总数是否大于0判断是否成功
DeleteResponse response = deleteBuilder.get();
int total = response.getShardInfo().getTotal();