{"took":0,"timed_out":false,"_shards":{// 分片信息"total":1,// 总计分片数"successful":1,// 查询成功的分片数"skipped":0,// 跳过查询的分片数"failed":0// 查询失败的分片数},"hits":{// 命中结果"total":{"value":1,// 数量"relation":"eq"// 关系:等于},"max_score":2.8526313,/...
1.2 构造一个查询器 指向索引 1.3 封装查询条件器 1.4 封装的条件器置入查询器 1.5 容器中的client调用查询: 1.6 解析查询结果 1.7 打印逐条记录时,可以把结构封装成一个model 借助一下:json.cn 1.8 完整操作: 二、Java操作elasticSearch索引保存数据 2.1 计划与实现 2.2单元测试 2.3 执行 2.4 查看一下Kibana操作...
es 查询例子: //筛选条件,查询全部数据 QueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); //自定义term聚合函数 TermsAggregationBuilder userTermAgg = AggregationBuilders.terms("user_id_group").field("user_id"); // sum聚合函数 SumAggregationBuilder numSumGroup = AggregationBuilders.sum("num...
业务系统接入Elasticsearch搜索服务后,开始了写查询接口的任务,本篇博客将总结Java操作Elasticsearch一些基本查询的实现。 基础代码 构建查询条件,对应Elasticsearch其实就是构建SearchRequest对象,指定索引库Name,指定索引库Type,创建SearchSourceBuilder对象,根据需求创建QueryBuilder对象,下面是创建和使用构建对象的基础代码: Searc...
一. prefix前缀查询, 比如某个field是"途虎科技", 搜索词是"途虎";则可以查询出来; 和match的区别, 如果"途虎科技"是"keyword"类型, 是查询不到的. 1.1 kibana中用prefix查询 1.2 java中用prefix查询 1@Test2publicvoidgetPrefixTest() throws IOException {3//1. 创建查询对象4String index ="sms-logs-inde...
使用Java根据id查询数据 //连接ESTransportClient transportClient =ESClientConnectionUtil.getESClientConnection();//参数:索引名,类型(type) idGetResponse response = client.prepareGet("knowledge", "knowledge_theme", "1") .setOperationThreaded(false)//线程安全.get(); ...
根据id查询 publicvoidtestSearchById()throwsException{//创建一个client对象//创建一个查询对象QueryBuilderqueryBuilder=QueryBuilders.idsQuery().addIds("1","2");//执行查询SearchResponsesearchResponse=client.prepareSearch("index_hello").setTypes("article").setQuery(queryBuilder).get();//取查询结果Sear...
bookType}") private String bookType; /** * 进行ES查询,执行请求前后打印出 查询语句 和 查询结果 */ private SearchResponse requestGet(String queryName, SearchRequestBuilder requestBuilder) { System.out.println(queryName + " 构建的查询:" + requestBuilder.toString()); SearchResponse searchResponse ...
1 term query 分词精确查询 QueryBuilder queryBuilder = QueryBuilders.termQuery("name", "华为手机"); 2 terms Query 多term查询 QueryBuilder queryBuilder = QueryBuilders.termsQuery("name", "华为手机","摄像机"); 3 range query 范围查询