前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ElasticSearch 6.x 学习笔记:31.Java API之词项查询

ElasticSearch 6.x 学习笔记:31.Java API之词项查询

作者头像
程裕强
发布2022-05-06 19:23:01
1810
发布2022-05-06 19:23:01
举报

https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/java-term-level-queries.html

1、term查询

Find documents which contain the exact term specified in the field specified.

代码语言:javascript
复制
package cn.hadron;
import cn.hadron.es.QueryUtil;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;

public class TermQuery {
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.termQuery("title","vmware");
        util.query(qb).print();
    }
}
代码语言:javascript
复制
source:{ "title": "vmware复制虚拟机","author":"程裕强","postdate":"2016-12-29","abstract":"vmware复制虚拟机","url":"http://url.cn/53946664"}
index:website
type:blog
id:4
author=程裕强
postdate=2016-12-29
abstract=vmware复制虚拟机
title=vmware复制虚拟机
url=http://url.cn/53946664

2、terms查询

Find documents which contain any of the exact terms specified in the field specified.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.termsQuery("title","centos","yum");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "CentOS更换国内yum源","author":"程裕强","postdate":"2016-12-30","abstract":"CentOS更换国内yum源","url":"http://url.cn/53946911"}
index:website
type:blog
id:6
author=程裕强
postdate=2016-12-30
abstract=CentOS更换国内yum源
title=CentOS更换国内yum源
url=http://url.cn/53946911
source:{ "title": "CentOS升级gcc","author":"程裕强","postdate":"2016-12-25","abstract":"CentOS升级gcc","url":"http://url.cn/53868915"}
index:website
type:blog
id:3
author=程裕强
postdate=2016-12-25
abstract=CentOS升级gcc
title=CentOS升级gcc
url=http://url.cn/53868915

3、range查询

Find documents where the field specified contains values (dates, numbers, or strings) in the range specified.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.rangeQuery("postdate").from("2017-01-01").to("2017-12-31").format("yyyy-MM-dd");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "es高亮","author":"程裕强","postdate":"2017-01-03","abstract":"Elasticsearch查询关键字高亮","url":"http://url/53991802"}
index:website
type:blog
id:8
author=程裕强
postdate=2017-01-03
abstract=Elasticsearch查询关键字高亮
title=es高亮
url=http://url/53991802

4、exists查询

Find documents where the field specified contains any non-null value.

5、prefix查询

Find documents where the field specified contains terms which being with the exact prefix specified.

代码语言:javascript
复制
package cn.hadron;
import cn.hadron.es.QueryUtil;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;

public class TermQuery {
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("my-index",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.prefixQuery("name","程");
        util.query(qb).print();
    }
}
代码语言:javascript
复制
source:{
  "name":"程裕强",
  "age":31,
  "gender":"男",
  "salary":20000,
  "dep":"bigdata"
}

index:my-index
type:persion
id:5
gender=男
name=程裕强
salary=20000
age=31
dep=bigdata

6、wildcard查询

Find documents where the field specified contains terms which match the pattern specified, where the pattern supports single character wildcards (?) and multi-character wildcards (*)

代码语言:javascript
复制
 public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.wildcardQuery("title","*yum*");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "CentOS更换国内yum源","author":"程裕强","postdate":"2016-12-30","abstract":"CentOS更换国内yum源","url":"http://url.cn/53946911"}
index:website
type:blog
id:6
author=程裕强
postdate=2016-12-30
abstract=CentOS更换国内yum源
title=CentOS更换国内yum源
url=http://url.cn/53946911

7、regexp查询

Find documents where the field specified contains terms which match the regular expression specified.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.regexpQuery("title","gc.*");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "CentOS升级gcc","author":"程裕强","postdate":"2016-12-25","abstract":"CentOS升级gcc","url":"http://url.cn/53868915"}
index:website
type:blog
id:3
author=程裕强
postdate=2016-12-25
abstract=CentOS升级gcc
title=CentOS升级gcc
url=http://url.cn/53868915

8、fuzzy查询

Find documents where the field specified contains terms which are fuzzily similar to the specified term. Fuzziness is measured as a Levenshtein edit distance of 1 or 2.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",5);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.fuzzyQuery("title","vmwere");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "vmware复制虚拟机","author":"程裕强","postdate":"2016-12-29","abstract":"vmware复制虚拟机","url":"http://url.cn/53946664"}
index:website
type:blog
id:4
author=程裕强
postdate=2016-12-29
abstract=vmware复制虚拟机
title=vmware复制虚拟机
url=http://url.cn/53946664

9、type查询

Find documents of the specified type.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",2);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.typeQuery("blog");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "libstdc++.so.6","author":"程裕强","postdate":"2016-12-30","abstract":"libstdc++.so.6问题解决","url":"http://url.cn/53946911"}
index:website
type:blog
id:5
author=程裕强
postdate=2016-12-30
abstract=libstdc++.so.6问题解决
title=libstdc++.so.6
url=http://url.cn/53946911
source:{ "title": "es高亮","author":"程裕强","postdate":"2017-01-03","abstract":"Elasticsearch查询关键字高亮","url":"http://url/53991802"}
index:website
type:blog
id:8
author=程裕强
postdate=2017-01-03
abstract=Elasticsearch查询关键字高亮
title=es高亮
url=http://url/53991802

10、ids查询

Find documents with the specified type and IDs.

代码语言:javascript
复制
    public static void main(String[] args) {
        QueryUtil util=new QueryUtil("website",2);
        //构造查询对象
        QueryBuilder qb=QueryBuilders.idsQuery().addIds("1","3");
        util.query(qb).print();
    }
代码语言:javascript
复制
source:{ "title": "Ambari源码编译","author":"程裕强","postdate":"2016-12-21","abstract":"CentOS7.x下的Ambari2.4源码编译","url":"http://url.cn/53788351"}
index:website
type:blog
id:1
author=程裕强
postdate=2016-12-21
abstract=CentOS7.x下的Ambari2.4源码编译
title=Ambari源码编译
url=http://url.cn/53788351
source:{ "title": "CentOS升级gcc","author":"程裕强","postdate":"2016-12-25","abstract":"CentOS升级gcc","url":"http://url.cn/53868915"}
index:website
type:blog
id:3
author=程裕强
postdate=2016-12-25
abstract=CentOS升级gcc
title=CentOS升级gcc
url=http://url.cn/53868915
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-02-21,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、term查询
  • 2、terms查询
  • 3、range查询
  • 4、exists查询
  • 5、prefix查询
  • 6、wildcard查询
  • 7、regexp查询
  • 8、fuzzy查询
  • 9、type查询
  • 10、ids查询
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档