ES查询-基本查询续
为什么80%的码农都做不了架构师?>>>
1.标示符查询
用来提供标示符过滤文档。 下面查询只返回含有value数组中一个标示符的文档。
{"query" : {"ids" : {"values" : [ "1", "2", "3" ]}}
}
复杂一点,在给定类型中完成查询。
{"query" : {"ids" : {"type" : "book","values" : [ "1", "2", "3" ]}}
}
2.前缀查询
查询特定字段以给定前缀为开始的文档。
{"query" : {"prefix" : {"title" : "cri"}}
}
还可以增加3.0的加权。
{"query" : {"prefix" : {"title" : {"value" : "cri","boost" : 3.0}}}
}
3.模糊查询(fuzzy)
模糊查询允许我们进行相似值的查询,给予编辑距离算法来匹配文档。编辑距离的计算基于我们提供的搜索字条以及被我们搜索的文档。模糊查询比较占用CPU资源。但是如果用户有拼写错误时,ES利用模糊查询仍然可以找到我们感兴趣的文档。 下面的例子是搜索crime时误输入crme。
{"query" : {"fuzzy" : {"title" : "crme"}}
}
The response for such a query will be as follows:
{"took" : 81,"timed_out" : false,"_shards" : {"total" : 5,"successful" : 5,"failed" : 0},"hits" : {"total" : 1,"max_score" : 0.5,"hits" : [ {"_index" : "library","_type" : "book","_id" : "4","_score" : 0.5,"_source" : {"title" : "Crime and Punishment","otitle" : "Преступлéние и наказáние","author" : "Fyodor Dostoevsky","year" : 1886,"characters" : [ "Raskolnikov", "Sofia Semyonovna Marmeladova" ],"tags" : [ ],"copies" : 0,"available" : true}} ]}
}
- value : 指定的实际查询
- boost : 指定的查询加权值,默认 1.0 .
- fuzziness : 指定匹配字段的最小近似度
- prefix_length : 公共前缀长度,默认为0
- max_expansions : 指定可被扩大到的最大词条数,默认为无限制
4.通配符查询(wildcard)
允许我们在查询时使用*和?的通配符
{"query" : {"wildcard" : {"title" : "cr?me"}}
}
通配符查询包含加权属性值。
{"query" : {"wildcard" : {"title" : {"value" : "cr?me","boost" : 20.0}}}
}
注意:通配符查询不注重性能,应尽量避免。且可以进行参数控制重写。
5.范围查询
范围查询使我们能够找到在某一个字段在某个范围内的文档,字段可以是数值型或字符串型。范围查询只支持单个字段。 下面的例子是查找year字段从1700到1900的所有文档。
{"query" : {"range" : {"year" : {"gte" : 1700,"lte" : 1900}}}
}
参数:
- gte:匹配字段大于等于此参数值的
- gt :匹配字段大于此参数值的
- lte:匹配字段小于等于此参数值的
- lt :匹配字段小于此参数值的
6.more_like_this查询
可以匹配与我们提供的文本或文档相似的查询。ES支持几个参数来定义more_like_this查询。
- field:定义应该执行查询的字段,默认为所有字段。
- like :包含用来进行比较的字段。
- min_term_freq:文档中字条最低频率,低于此频率将被忽略,默认为1.
- min_doc_freq:包含该词条的最低文档数,低于此该词条将被忽略,默认为5.
- 更多参数可以参考官方文档。
{"query" : {"more_like_this" : {"fields" : [ "title", "otitle" ],"like" : "crime and punishment","min_term_freq" : 1,"min_doc_freq" : 1}}
}
下面是用来匹配一个给定的文档。
{"query" : {"more_like_this" : {"fields" : [ "title", "otitle" ],"min_term_freq" : 1,"min_doc_freq" : 1,"like" : [{"_index" : "library","_type" : "book","_id" : "4"}]}}
}
上面两种匹配可以一次进行:
{"query" : {"more_like_this" : {"fields" : [ "title", "otitle" ],"min_term_freq" : 1,"min_doc_freq" : 1,"like" : [{"_index" : "library","_type" : "book","_id" : "4"},"crime and punishment"]}}
}
转载于:https://my.oschina.net/clgo/blog/666590
ES查询-基本查询续相关推荐
- es解决只能查询10000条数据方案
引言 在使用es进行数据查询时,由于es官方默认限制了索引一次性最多只能查询10000条数据,查询第10001条数据开始就会报错, 错误的内容大致为:Result window is too larg ...
- es java api 查询_es聚合查询javaapi
查询节气详情 package net.apishop.www.controller; import import import import import import import import i ...
- 【ES】原生es的复杂查询
原生es的复杂查询 相关依赖 复杂查询概述 外层查询-SearchSourceBuilder(类) 外层查询概述 对查询结果进行分页 对查询结果进行排序 对查询结果字段进行过滤 对查询结果进行聚合 求 ...
- es java 模糊查询_java使用elasticsearch进行模糊查询-已在项目中实际应用
java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...
- ES中SQL查询详解
一.Elasticsearch SQL简介 Elasticsearch SQL 是一个 X-Pack 组件,它允许对 Elasticsearch 实时执行类似 SQL 的查询.无论是使用 REST 接 ...
- 29.什么是ES 的id查询?如何使用id查询?如何在java中进行ID查询?嘻哈的简写笔记——Elastic Search
1.什么是ES 的id查询?如何使用id查询? Id查询就是根据一个id进行查询,非常简单: GET /book/novel/ + id GET /book/novel/2 含义:这是查询一个id为2 ...
- es 常用DSL查询语序 以及springDataES对应和使用
基本理解 索引 = 数据库 类型 = 表 文档 = 一条数据 字段 = 字段 映射 = 设计表的组成(这里不像是关系型数据库不能多加字段可以多加只是一个软规定) ik 地址直接访问用就ok:http: ...
- ES 04 - Elasticsearch查询索引文档的6种方法
博客转载方面自己查看 目录 1 Query String Search(查询串检索) 2 Query DSL(ES特定语法检索) 3 Query Filter(过滤检索) 4 Full Text Se ...
- ES中如何查询Top10数据
问题描述: 在实际项目中,查询Top10数据的场景非常常见,比如查询票房前十的电影,销售榜前十的商品等. 那么在ES中如何查询Top10的数据呢? 问题分析: 一般Top10问题,都可以转化成先排序再 ...
最新文章
- PowerDesigner模型设计
- Linux版本划分——基于打包方式
- 给一个元素插入一段HTML
- 秒懂数据类型的真谛—Python基础前传(4)
- Pod Preset玩转K8S容器时区自动配置 1
- CAN笔记(5) 协议标准规格
- Inflater与findViewById()区别
- 解决在IE6下使用display: inline-block;的不兼容性问题
- pycharm 怎么快速生成文件夹结构_Pycharm配置Qt工具(ubuntu18.04)
- 用idea搭建SSM框架maven项目
- python 字符串 string模块导入及用法
- 从海康录像机取RTSP转发流,规律性的断流
- 介绍一款网页翻译插件
- 第十届泰迪杯数据挖掘大赛B题电力系统负荷预测
- Matlab画图 线型控制
- linux系统镜像后缀及简单介绍
- Shader山下(六)镜面高光
- tcpdump抓取网络
- 所希望于劳工会的〔1〕
- SqlServer的基本使用
热门文章
- 手机端滚动屏幕加载更多
- 百度推广为什么出现在右侧
- Dubbo的负载均衡、集群容错、服务降级等机制详解
- java代码中出现乱码怎么解决?
- android toolbar区别,Android《ToolBar》
- X86 CPU特性之(1)-umip
- 利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用
- 【跃迁之路】【429天】程序员高效学习方法论探索系列(实验阶段186-2018.04.10)...
- CentOS7网络配置,安装jdk,tomcat和mysql全过程
- H5项目常见问题汇总及解决方案