ElasticSearch5.4 基本增删查改、搜索模板类
来源:互联网 发布:linux系统编程 第2版 编辑:程序博客网 时间:2024/06/06 09:23
import lombok.Data;import org.elasticsearch.action.DocWriteResponse;import org.elasticsearch.action.admin.indices.delete.DeleteIndexResponse;import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsRequest;import org.elasticsearch.action.admin.indices.exists.indices.IndicesExistsResponse;import org.elasticsearch.action.bulk.BulkRequestBuilder;import org.elasticsearch.action.bulk.BulkResponse;import org.elasticsearch.action.delete.DeleteResponse;import org.elasticsearch.action.index.IndexResponse;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.action.update.UpdateResponse;import org.elasticsearch.client.Client;import org.elasticsearch.index.query.QueryBuilder;import java.util.List;/** * Created by T T on 2017/6/27. */@Datapublic class SearchTemplate{ private Client client; /** * 批量创建文档,需指定索引和类型 * @param index 索引 * @param type 类型 * @param docs 文档 * @return */ public BulkResponse createIndex(String index, String type, Listdocs){ BulkRequestBuilder bulkRequestBuilder = client.prepareBulk(); for(String doc : docs){ bulkRequestBuilder.add(client.prepareIndex(index,type).setSource(doc)); } BulkResponse bulkResponse = bulkRequestBuilder.get(); return bulkResponse; } /** * 单个创建文档,需指定索引和类型 * @param index 索引 * @param type 类型 * @param doc 文档 * @return */ public IndexResponse createIndex(String index, String type, String doc){ IndexResponse indexResponse = client.prepareIndex(index, type).setSource(doc).get(); return indexResponse; } /** * 指定索引、类型和搜索类型进行搜索,若类型为空默认对整个索引进行搜索 * @param index 索引 * @param type 类型 * @param queryBuilder 搜索类型 * @return */ public SearchResponse search(String index, String type, QueryBuilder queryBuilder){ if (type == null|| type.length() == 0){ return client.prepareSearch(index).setQuery(queryBuilder).get(); } return client.prepareSearch(index).setTypes(type).setQuery(queryBuilder).get(); } /** * 根据id删除指定索引、类型下的文档,id需先通过搜索获取 * @param index 索引 * @param type 类型 * @param id 文档id * @return */ public DeleteResponse deleteIndex(String index,String type,String id) { DeleteResponse deleteResponse= client.prepareDelete(index, type, id).get(); return deleteResponse; } /** * 删除指定索引,慎用 * @param index 索引 * @return */ public DeleteIndexResponse deleteAll(String index){ DeleteIndexResponse deleteIndexResponse = client.admin().indices().prepareDelete(index).get(); return deleteIndexResponse; } /** * 根据index、type、id更新文档 * @param index 索引 * @param type 文档 * @param id 文档id * @param newDoc 更新后的文档json字符串 * @return */ public Boolean update(String index,String type,String id,String newDoc){ UpdateResponse updateResponse = client.prepareUpdate(index,type,id).setDoc(newDoc).get(); if(updateResponse.getResult()!= DocWriteResponse.Result.UPDATED){ return false; } return true; } /** * 判断指定Index是否存在 * @param index * @return */ public Boolean indexExist(String index){ IndicesExistsRequest request = new IndicesExistsRequest(index); IndicesExistsResponse response = client.admin().indices().exists(request).actionGet(); if (response.isExists()) { return true; } return false; }}
阅读全文
0 0
- ElasticSearch5.4 基本增删查改、搜索模板类
- ElasticSearch5.X 增删改查
- 领域类之基本增删改查
- ibatis(基本增删改查)
- sql 基本增删改查
- mongodb基本增删改查
- hibernate_基本增删改查
- mysql 基本增删改查
- 增删查改基本操作
- 基本操作增删改查
- sql基本增删改查
- 基本的增删改查
- aj基本增删改查
- SqlServer之基本增删改查(4)
- mybatis(4)--完成基本的增删改查操作
- ThinkPHP增删改查 搜索 分页
- 二叉搜索树的增删查改
- 搜索二叉树的增删查改
- Android有序广播
- JDK和JRE的区别?
- linux上安装navicate
- dubbo直连指定服务提供者Ip
- java-面向对象基础
- ElasticSearch5.4 基本增删查改、搜索模板类
- BZOJ 1822 浅谈计算几何在网络流建模中的实际运用
- CSS中的一些背景相关的学习
- 最新版Eclipse个性化
- Codeforces 828 D High Load
- Android系统广播实现短信监听
- Linux里的几类比较主要和if使用
- ## 引用是否占用内存空间? ##(自娱自乐,仅供参考)
- 批量修改文件名后缀的两个方法