前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch java api 常用查询方法QueryBuilder构造举例

Elasticsearch java api 常用查询方法QueryBuilder构造举例

作者头像
用户1518699
发布2018-09-12 15:31:46
13.1K0
发布2018-09-12 15:31:46
举报
文章被收录于专栏:nice_每一天nice_每一天
转载:http://m.blog.csdn.net/u012546526/article/details/74184769

Elasticsearch java api 常用查询方法QueryBuilder构造举例

环境

Elasticsearch版本

5.1.1

pom

代码语言:javascript
复制
<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>5.1.1</version>
</dependency>

Elasticsearch索引方式

数字
代码语言:javascript
复制
{
    "type": "long"
}
字符串
代码语言:javascript
复制
{
    "type": "text",
    "fields": {
        "keyword": {
            "type": "keyword",
            "ignore_above": 256
        }
    }
}

精确查询

以下字段名用${fieldName}代替,具体值用${fieldValue}代替

数字

单个

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.termQuery("${fieldName}", "${fieldValue}");

批量

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.termsQuery("${fieldName}", "${fieldValues}");

字符串

单个

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.termQuery("${fieldName}.keyword", "${fieldValue}");

批量

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.termsQuery("${fieldName}.keyword", "${fieldValues}");

模糊查询

数字

数字查询都为精确查询

字符串

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.moreLikeThisQuery(new String[]{"${fieldName}"}, new String[]{"${fieldValue}"}, null);

范围查询

数字

闭区间查询

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}).to(${fieldValue2});

开区间查询

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").from(${fieldValue1}, false).to(${fieldValue2}, false);

大于

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").gt(${fieldValue});
代码语言:javascript
复制

大于等于

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").gte(${fieldValue});
代码语言:javascript
复制

小于

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").lt(${fieldValue});

小于等于

代码语言:javascript
复制
QueryBuilder qb1 = QueryBuilders.rangeQuery("${fieldName}").lte(${fieldValue});
代码语言:javascript
复制

多条件查询

代码语言:javascript
复制
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);

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-12-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Elasticsearch java api 常用查询方法QueryBuilder构造举例
    • 环境
      • Elasticsearch版本
      • pom
      • Elasticsearch索引方式
    • 精确查询
      • 数字
      • 字符串
    • 模糊查询
      • 数字
      • 字符串
    • 范围查询
      • 数字
    • 多条件查询
    相关产品与服务
    Elasticsearch Service
    腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档