转:Elasticsearch TermQuery 详解
JavaClient 查询ES
QueryBuilder queryBuilder = QueryBuilders.termQuery("字段","term值");
SearchResponse response = client.prepareSearch("索引名称")
.setTypes("type名称")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.setQuery(queryBuilder)
.execute()
.actionGet();
//获取命中数
System.out.println(response.getHits().totalHits());
//获取响应字符串
System.out.println(response.toString());
//遍历查询结果输出相关度分值和文档内容
SearchHits searchHits = response.getHits();
for(SearchHit searchHit : searchHits){
System.out.println(searchHit.getScore());
System.out.println(searchHit.getSourceAsString());
}
各种term query的 QueryBuild 构建 官方文档地址:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html
1、term query 分词精确查询,查询hotelName 分词后包含 hotel的term的文档
QueryBuilders.termQuery("hotelName","hotel")
2、terms Query 多term查询,查询hotelName 包含 hotel 或test 中的任何一个或多个的文档
QueryBuilders.termsQuery("hotelName","hotel","test")
3、range query
范围查询 查询hotelNo
QueryBuilders.rangeQuery("hotelNo")
.gt("10143262306") //大于 10143262306
.lt("101432623062055348221") //小于 101432623062055348221
.includeLower(true) //包括下界
.includeUpper(false); //包括上界
4、 exist query 查询字段不为null的文档 查询字段address 不为null的数据
QueryBuilders.existsQuery("address")
5、missing query
返回 没有字段或值为null或没有值的文档
java client 该方法已经标记为过时,推荐用exist代替 如下 existsQuery BoolQueryBuilder#mustNot(QueryBuilder)
QueryBuilders.missingQuery("accountGuid")
等同
QueryBuilders.boolQuery().mustNot(QueryBuilders.existsQuery("accountGuid"));
6.prefix query 匹配分词前缀 如果字段没分词,就匹配整个字段前缀
QueryBuilders.prefixQuery("hotelName","花园")
7、wildcard query 通配符查询,支持* 任意字符串;?任意一个字符
QueryBuilders.wildcardQuery("channelCode","ctr*")
QueryBuilders.wildcardQuery("channelCode","ctr?")
8、regexp query 正则表达式匹配分词,正则表达式自己写吧 略
9、 fuzzy query 分词模糊查询,通过增加fuzziness 模糊属性,来查询term 如下 能够匹配 hotelName 为 te el tel前或后加一个字母的term的 文档 fuzziness 的含义是检索的term 前后增加或减少n个单词的匹配查询,
QueryBuilders.fuzzyQuery("hotelName", "tel").fuzziness(Fuzziness.ONE)
10、type Query 含义不是很理解,通过代码也还暂未理解 英文原文:Filters documents matching the provided document / mapping type.
QueryBuilders.typeQuery("channelCode")
11、idx Query 根据ID查询
QueryBuilders.idsQuery().addIds("exchange_operate_monitor_db$32293","exchange_operate_monitor_db$32294")
转:Elasticsearch TermQuery 详解的更多相关文章
- Elasticsearch配置详解、文档元数据
目录 返回目录:http://www.cnblogs.com/hanyinglong/p/5464604.html 1.Elasticsearch配置文件详解 a. 在上面博客中,我们已经安装并且成功 ...
- 搜索引擎框架之ElasticSearch基础详解(非原创)
文章大纲 一.搜索引擎框架基础介绍二.ElasticSearch的简介三.ElasticSearch安装(Windows版本)四.ElasticSearch操作客户端工具--Kibana五.ES的常用 ...
- elasticsearch配置详解
一.说明 使用的是新版本5.1,直接从官网下载rpm包进行安装,https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5 ...
- 分布式搜索elasticsearch配置文件详解
elasticsearch的config文件夹里面有两个配置文件:elasticsearch.yml和logging.yml,第一个是es的基本配置文件,第二个是日志配置文件,es也是使用log4j来 ...
- Elasticsearch安装详解
本文只介绍在windows上的安装和配置,其他安装和配置请参见官方文档 ES在windows上安装需下载zip安装包,解压后bin目录下有个 elasticsearch-service.bat 文件. ...
- elasticsearch配置文件详解
来自:http://www.searchtech.pro/articles/2013/02/18/1361194291548.html elasticsearch的config文件夹里面有两个配置文 ...
- elasticsearch配置文件(elasticsearch.yml)详解
来自:http://www.searchtech.pro/articles/2013/02/18/1361194291548.html elasticsearch的config文件夹里面有两个配置文 ...
- ElasticSearch 配置详解
配置文件位于es根目录的config目录下面,有elasticsearch.yml和logging.yml两个配置,主配置文件是elasticsearch.yml,日志配置文件是logging.yml ...
- 搜索引擎(Elasticsearch搜索详解)
学完本课题,你应达成如下目标: 掌握ES搜索API的规则.用法. 掌握各种查询用法 搜索API 搜索API 端点地址 GET /twitter/_search?q=user:kimchy GET /t ...
随机推荐
- laravel 控制器方法里存get值 和 blade 模板获得闪存值的方法
//get 方式把id传到路由 <a href="/admin/reply/add/{{$comment -> id}}" class="btn btn-bl ...
- Nosql modifing...
关键字补充(不晓得的自己去Google): 负载均衡 \文件上传到服务器\建表建动态列簇\数据仓库的应用\事务的提交和回滚\SQL执行计划\联机事务处理\联机分析处理\多表关联查询\数据存储引擎 N ...
- CentOS 6 使用 yum 安装MongoDB及服务器端配置
安装MongoDB的方法有很多种,可以源代码安装,在Centos也可以用yum源安装的方法.由于MongoDB更新得比较快,我比较喜欢用yum源安装的方法.64位Centos下的安装步骤如下: 1.准 ...
- 一个php soap的错误记录
今天使用php soap实现两个系统之间的互通 在写好php的soapserver后,client端调用一直报 looks like we got no XML document,尝试好久后无法解决 ...
- ios基础篇(二十)—— UIBezierPath绘制
UIBezierPath类可以创建基于矢量的路径,可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线段组成的形状. 一.UIBezierPath使用: 1.创建path: 2.添加路径到path ...
- 媒体查询判断ipad与iPhone各版本i
/* 判断ipad */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px){ /* s ...
- c# mvc使用 npoi下载 excel
IWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); //添加一个sheet ISheet sheet1 = book.CreateShee ...
- spark0.9.1 assembly build-RedHat6.4 YARN 2.2.0
1. Install git on RedHat6.4: 1.1. setup your local yum repo 1.2. yum install git 2. Install JDK and ...
- RichTextBox文字处理控件属性介绍
RichTextBox控件是一种既能够输入文本. 又能够修改文本的文字处理控件, 与TextBox控件比较, RichTextBox控件的文字处理功用更加丰厚, 不只能够设定文字的色彩. 字体, 还具 ...
- [windows操作系统]windows管理
1.磁盘管理: 1.1.使用DISKPART命令行工具创建扩展分区: windows自带有一个disk management(磁盘管理)工具,但在其中却找不到如何创建扩展分区(一般MBR分区格式需要扩 ...