文档章节

ElasticSearch(filter方式查询数据)

吃肉肉不长肉肉
 吃肉肉不长肉肉
发布于 2017/05/22 16:03
字数 217
阅读 53
收藏 0
        QueryBuilder queryBuilder = null;
	// 1.查询name为zhangsan的数据
	queryBuilder = QueryBuilders.termQuery("name", "zhangsan");
	// name前缀为zhang的数据
	queryBuilder = QueryBuilders.disMaxQuery()
			.add(QueryBuilders.termQuery("name", "zhangsan"))
			.add(QueryBuilders.prefixQuery("name", "zhang"));
	// 查询name 为zhangsan,lis1的数据,有两者中的任一个即为匹配
	queryBuilder = QueryBuilders.termsQuery("name", "zhangsan", "lis1");
	// 常用词查询
	queryBuilder = QueryBuilders.commonTermsQuery("name", "zhangsan");
	// age/name/address中包含2的记录
	queryBuilder = QueryBuilders.multiMatchQuery("2", "age", "name",
			"address");
	// 条件组合查询
	queryBuilder = QueryBuilders
			.boolQuery()
			.must(QueryBuilders.disMaxQuery().add(
					QueryBuilders.prefixQuery("name", "jmk")))
			.mustNot(QueryBuilders.termQuery("address", false));
	// .should(QueryBuilders.termQuery("age", "23"));
	// 正则匹配 查询name中包含jmk的记录
	queryBuilder = QueryBuilders.regexpQuery("name", ".*?jmk.?+");
	String[] likeTexts = { "jmk" };
	queryBuilder = QueryBuilders.moreLikeThisQuery(likeTexts);
	// 查询所有
	queryBuilder = QueryBuilders.matchAllQuery();

	// SearchRequestBuilder builder = client.prepareSearch(index)
	// .setTypes(type).setQuery(queryBuilder)
	// .addSort("age", SortOrder.DESC);
	SearchResponse response = client.prepareSearch().setIndices(index)
			.setTypes(type).setQuery(queryBuilder).setFrom(0).setSize(100)
			// .addSort("createTime", SortOrder.DESC)
			// .addSort(SortBuilders.fieldSort("age").order(SortOrder.DESC))
			//
			// addSort(SortBuilders.fieldSort("title.untouched").order(SortOrder.ASC))
			.execute().actionGet();

	client.close();
	// SearchResponse response = builder.execute().actionGet();
	SearchHits result = response.getHits();
	// 结果总数
	long total = result.getTotalHits();
	System.out.println("total:" + total);
	List<String> resultList = new ArrayList<String>();
	for (SearchHit hit : result) {
		resultList.add(hit.getSourceAsString());
	}
	return resultList;

© 著作权归作者所有

吃肉肉不长肉肉
粉丝 0
博文 30
码字总数 3423
作品 0
合肥
程序员
私信 提问
蛋疼的ElasticSearch(四)之基本用法、高级查询

ElasticSearch系列文章: 1.蛋疼的ElasticSearch(一)之安装ElasticSearch 2.蛋疼的ElasticSearch(二)之配置ElasticSearch Head插件 3.蛋疼的ElasticSearch(三)之配置elasticsearch-analysis-......

cmazxiaoma
2018/10/25
0
0
如何用 Node.js 和 Elasticsearch 构建搜索引擎

Elasticsearch 是一款开源的搜索引擎,由于其高性能和分布式系统架构而备受关注。本文将讨论其关键特性,并手把手教你如何用它创建 Node.js 搜索引擎。 Elasticsearch 概述 Elasticsearch 底...

oschina
2016/09/29
10.2K
6
Elasticsearch如何实现 SQL语句中 Group By 和 Limit 的功能

有 SQL 背景的同学在学习 Elasticsearch 时,面对一个查询需求,不由自主地会先思考如何用 SQL 来实现,然后再去想 Elasticsearch 的 Query DSL 如何实现。那么本篇就给大家讲一条常见的 SQ...

rockybean
2018/05/21
0
0
Elasticsearch入门篇——基础知识

还记得大二的时候,初入Java大门,就大言不惭的给老师说,我要开发一个搜索引擎,结果是各种学习,各种找资料,终于在期末的时候,做出了一个简单新闻搜索页面,搜索模块是使用了Lucene。 今...

JAVA_冯文议
03/11
0
0
如何优化100s的Elasticsearch 查询到1s以内

在SQL的世界里, 查询优化是相当成熟并且是可以理解的, 另外一方面, 分布式数据库系统是新出现的, 并且不太成熟. 理解查询是如何工作的将是一件非常重要的事情. Elstaticsearch的查询有时候将...

leon_lu
2017/10/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Storm+Hbase广告实时统计

本文主要讲述使用Kafka+Strom+Hbase搭建的一套广告实时计算系统。其中服务器显示使用的是SpringBoot+Vue+ElementUI+EChats. 主要内容: 1.需求 2.日志格式 3.Hbase表格设计 4.编写Storm程序 ...

飓风2000
33分钟前
3
0
android,ContentProvider+ContentObserver+ContentResolver,用法。

这个是传智播客老师讲android开发时的一个图。 一、 PersonProvider继承ContentProvider,实现ContentProvider中的数据操作类。 ContentObserver——内容观察者,目的是观察(捕捉)特定Uri引起...

天王盖地虎626
39分钟前
2
0
解决markdown中的不换行问题

没有解决我的格式显示问题 https://blog.csdn.net/qq_23483671/article/details/79017609

南桥北木
44分钟前
2
0
产品上新|ZStack3.5.0正式发布啦!

海量产品资料传送门~ 一、ZStack全线产品下载通道汇总 社区版(免费): https://www.zstack.io/product/zstack_open_source/ 企业版下载: https://www.zstack.io/product/zstack_enterpris...

ZStack社区版
46分钟前
2
0
mysql 大表分页查询 翻页 优化方案

mysql分页查询是先查询出来所有数据,然后跳过offset,取limit条记录,造成了越往后的页数,查询时间越长 一般优化思路是转换offset,让offset尽可能的小,最好能每次查询都是第一页,也就是...

花树堆雪
50分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部