elasticsearch从入门到出门-03-多种搜索
1、query string search
2、query DSL
3、query filter
4、full-text search
5、phrase search
6、highlight search
GET /ecommerce/product/_search
可以查询出当前索引下这个类型的所有数据,
took 本次搜索耗费的时间:毫秒
timed_out:是否超时,这里是没有
—shards 分片所以对于搜索请求,会打到所有的primary shard(或者是它的某个replica shard也可以)
hits
total 查询到的是2个document
max_score :搜索时候的相关性匹配分数
qi
其实这种方式主要是采用的是get的url拼接类似!
2、query DSL
DSL 意思是特殊领域的查询语言:Domain Specified Language,
请求体可以是JSON格式的:
查询包含yagao,且按照价格排序
GET /ecommerce/product/_search
{
"query": {
"match": {
"name": "yagao"
}
},"sort": [
{
"price": {
"order": "asc"
}
}
]
}
分页查询商品每一页显示1条数据,显示第2页:
GET /ecommerce/product/_search
{
"query": {
"match_all": {}
},
"from": 1
, "size": 1
}
只查询出来商品的名称和价格就可以:
GET /ecommerce/product/_search
{
"query": { "match_all": {} },
"_source": ["name", "price"]
}
非常适合生产环境。
3、query filter 相当于查询时候进行过滤了
查询包含牙膏的,并且价格大于21的
GET /ecommerce/product/_search
{
"query" : {
"bool" : {
"must" : {
"match" : {
"name" : "yagao"
}
},
"filter" : {
"range" : {
"price" : { "gt" : 21 }
}
}
}
}
}
4、full-text search 全文检索
GET /ecommerce/product/_search
{
"query": {
"match": {
"producer": "zhonghua"
}
}
}
5、phrase search 短词搜索
注意:这个搜索时精确的搜索,不会对查询的词进行拆分,类似于不会模糊查询然会返回
但是和全文搜索相反,全文搜索或在把查询的参数进行拆分,再去倒排索引上进行查询!
GET /ecommerce/product/_search
{
"query": {
"match_phrase": {
"producer": "produce"
}
}
}
6、highlight search 高亮搜索
总结下这6中搜索:
第一种url拼接形式的搜索,实战中用的少
第二种搜索:DSL 搜索 相对第一种搜索已经很大的提高,采用JSON格式参数进行搜索
第三种:过滤搜索
第四种:全文搜索,还是很有用的
第五种:短词精确搜索
第6个是高亮,在做检索时候还是很有用的
坚持才是进步的开始!
elasticsearch从入门到出门-03-多种搜索的更多相关文章
- elasticsearch从入门到出门-02-简单的CRUD
操作背景: 电商网站上面的一个商品的增删改查: es 能接受的都是JSON格式的数据 Es 提供了一套简单的集群信息健康监控的api GET /_cat/health?v epoch t ...
- elasticsearch从入门到出门-08-Elasticsearch容错机制:master选举,replica容错,数据恢复
假如: 9 shard,3 node Elasticsearch容错机制:master选举,replica容错,数据恢复 最佳分配情况: 这样分配之后,不管其中哪个node 宕机这个es 依然可以提供 ...
- elasticsearch从入门到出门-01windows上安装使用
elasticsearch 1.安装JDK,至少1.8.0_73以上版本,java -version2.下载和解压缩Elasticsearch安装包,目录结构3.启动Elasticsearch:bin ...
- elasticsearch从入门到出门-06-剖析Elasticsearch的基础分布式架构
这个图来自中华石杉:
- elasticsearch从入门到出门-05-集群之踩坑
自己搭的集群, 设备: win10 + ubuntu 16 的虚拟机一个: 下载的版本:elasticsearch-5.2.0 win10 解压下就好了,不说了. ubuntu 上,我想说多了都是泪! ...
- elasticsearch从入门到出门-04-入门的几个需求练手
第一个分析需求:计算每个tag下的商品数量 GET /ecommerce/product/_search{ "aggs": { "group_by_tags&qu ...
- sharding-jdbc从入门到出门(03)
经过端午节这2天对 sharding-jdbc一直怀揣成梦想的去学习,还是有一些没有解决的问题: 上一张图:
- Elasticsearch从入门到放弃:分词器初印象
Elasticsearch 系列回来了,先给因为这个系列关注我的同学说声抱歉,拖了这么久才回来,这个系列虽然叫「Elasticsearch 从入门到放弃」,但只有三篇就放弃还是有点过分的,所以还是回来 ...
- Elasticsearch从入门到精通-Elasticsearch是什么
作者其他ELK快速入门系列文章 logstash快速入门实战指南 Kibana从入门到精通 一.前言 驱动未来商业发展的最重要“能源”不是石油,而是数据.我们还来不及了解它,这个世界已经被它淹没.多年 ...
随机推荐
- 机器学习第3课:线性代数回顾(Linear Algebra Review)
3.1 矩阵和向量 如图:这个是 4×2 矩阵,即 4 行 2 列,如 m 为行,n 为列,那么 m×n 即 4×2 矩阵的维数即行数×列数 矩阵元素(矩阵项): Aij 指第 i 行,第 j 列的 ...
- 【Zookeeper】分布式服务框架 Zookeeper -- 管理分布式环境中的数据
Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理 ...
- java-selenium(二)富文本编辑框的处理
首先先看一下什么是富文本编辑框 HTML源码 思路:首先先进入到iframe中,再用js写,最后切出iframe 如果想要换行可以在换行的地方加上<br> 如果添加的文本中包含单引号.双引 ...
- zabbix_sender高效模式
1.zabbix_sender介绍 zabbix获取key值有超时时间,如果自定义的key脚本一般需要执行很长时间,这根本没法去做监控,获取数据有超时时间,如果一些数据需要执行比较长的时间才能获取的话 ...
- PHP Warning: 的解决方法
在后台管理,用header("location:");做返回时,总是不能正常返回, Warning: Cannot modify header information - head ...
- hdu 3667 /2010哈尔滨赛区H题 费用与流量为非线性关系/费用流
题意: 在一般费用流题目改动:路过某路,每x单位流量须要花费 ai*x^2(ai为给定的系数). 開始的的时候,一看仅仅只是是最后统计费用上在改动罢了,一看例子.发现根本没那么简单(ps:以后每次写程 ...
- VB断点调试
最近都在敲机房收费系统,这个系统是我们第一次自己在没有源代码的情况下进行的系统. 写程序的时候逻辑非常重要,可是我们还要清楚非常多时候你以为的并非你以为的! 就像在敲机房的时候,我们明明理清了逻辑.并 ...
- 乐鑫esp8266的 基于Nonos移植红外线1883,实现遥控器控制
代码地址如下:http://www.demodashi.com/demo/12613.html 一.前言. 距离上篇的8266进阶博文有那么一段时间了,那么本文带来的是基于Nonos的红外线H1838 ...
- PHP框架认识初步
PHP框架比較 CodeIgniter Codeigniter 相当轻量级.下载下来就能用, CI 的最大特点就是可扩展性非常强 你能够通过不改动源代码的方式 优雅的扩展差点儿全部的东西. think ...
- Android:使用ZXing生成二维码(支持加入Logo图案)
ZXing是谷歌的一个开源库.能够用来生成二维码.扫描二维码.本文所介绍的是第一部分. 首先上效果图: ZXing相关各种文件官方下载地址:https://github.com/zxing/zxing ...