Elasticsearch java api 常用查询方法QueryBuilder构造举例
来源:互联网 发布:北京 db2数据库培训 编辑:程序博客网 时间:2024/06/13 00:08
Elasticsearch java api 常用查询方法QueryBuilder构造举例
环境
Elasticsearch版本
5.1.1
pom
<dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>5.1.1</version></dependency>
Elasticsearch索引方式
数字
{ "type": "long"}
字符串
{ "type": "text", "fields": { "keyword": { "type": "keyword", "ignore_above": 256 } }}
精确查询
以下字段名用${fieldName}代替,具体值用${fieldValue}代替
数字
单个
QueryBuilder qb1 = QueryBuilders.termQuery("${fieldName}", "${fieldValue}");
批量
QueryBuilder qb1 = QueryBuilders.termsQuery("${fieldName}", "${fieldValues}");
字符串
单个
QueryBuilder qb1 = QueryBuilders.termQuery("${fieldName}.keyword", "${fieldValue}");
批量
QueryBuilder qb1 = QueryBuilders.termsQuery("${fieldName}.keyword", "${fieldValues}");
模糊查询
数字
数字查询都为精确查询
字符串
QueryBuilder qb1 = QueryBuilders.moreLikeThisQuery(new String[]{"${fieldName}"}, new String[]{"${fieldValue}"}, null);
范围查询
数字
闭区间查询
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}).to(${fieldValue2});
开区间查询
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}, false).to(${fieldValue2}, false);
大于
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").gt(${fieldValue});
大于等于
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").gte(${fieldValue});
小于
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").lt(${fieldValue});
小于等于
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").lte(${fieldValue});
多条件查询
且
QueryBuilder qb1 = QueryBuilders.moreLikeThisQuery(new String[]{"${fieldName1}"}, new String[]{"${fieldValue1}"}, null);QueryBuilder qb2 = QueryBuilders.rangeQuery("${fieldName2}").gt("${fieldValue2}");QueryBuilder qb3 = QueryBuilders.boolQuery().must(qb1).must(qb2);
以上为常用总结,最全最权威请参看官方文档。
经验总结,如有错误,请批评指出。
阅读全文
0 0
- Elasticsearch java api 常用查询方法QueryBuilder构造举例
- ElasticSearch java API - 聚合查询
- QueryBuilder简单查询
- 关于elasticsearch的几个QueryBuilder
- Elasticsearch java API (20)查询 DSL
- Elasticsearch的Java API/查询/分页等
- elasticsearch 常规java api string查询
- 构造方法举例
- Elasticsearch java API (21)查询 DSL 项级别查询
- Elasticsearch java API (21)查询 DSL 复合查询
- Elasticsearch java API (22)查询 DSL Joining查询
- Elasticsearch java API (23)查询 DSL Geo查询
- Elasticsearch java API (24)查询 DSL Specialized(专业)查询
- Elasticsearch java API (25)查询 DSL Span(跨度)查询
- 3-Elasticsearch查询API
- Elasticsearch api查询
- java 常用API 方法
- ElasticSearch-常用API(一)
- 微信小程序+WEB使用JS实现注册【60s】倒计时功能
- C++返回值引用
- jdbc连接mysql,oracle的URL和DriverClass
- POJ 2823 Sliding Window
- 对象和类(上)
- Elasticsearch java api 常用查询方法QueryBuilder构造举例
- 喜欢的现代诗 -。-
- 网络常用端口号大全
- 微信小程序 LeanCloud(二)命令行工具使用
- 可重入函数
- 对象和类(下)
- HDU 1548 A strange lift
- ios苹果推送-APNS
- 新手如何在 HBuilder 中创建 web项目