SpringBoot知识体系(四)springboot整合Elasticsearch(2)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_37338761/article/details/102502134

相关配置: 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();

猜你喜欢

转载自blog.csdn.net/qq_37338761/article/details/102502134