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从入门到精通 一.前言 驱动未来商业发展的最重要“能源”不是石油,而是数据.我们还来不及了解它,这个世界已经被它淹没.多年 ...
随机推荐
- Spring配置xml版
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 【Hadoop】Hadoop HA 部署 详细过程(架构、机器规划、配置文件、部署步骤)
1.概念.架构 2.配置文件示例.部署步骤 hadoop2.0已经发布了稳定版本了,增加了很多特性,比如HDFS HA.YARN等.最新的hadoop-2.4.1又增加了YARN HA 注意:apac ...
- NFS网络文件系统的配置
NFS网络文件系统的配置 NFS网络文件系统 NFS(network file system)网络文件系统.一种使用于分散式文件协定,有SUN公司开发.功能是通过网络让不同的机器.不同的操作系统能够分 ...
- Nodejs扩展,实现消息弹窗
參考https://github.com/olalonde/node-notify的实现 模块的C++代码 node_gtknotify.cc #include <v8.h> #inclu ...
- python 赋值 深浅拷贝
深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 impor ...
- flashplayer
http://www.adobe.com/support/flashplayer/downloads.html
- python按行读取apk中版本号、包名等信息
主要是读apk中manifest.xml中的信息. 读单一apk信息:见“文件”中“apkInfo.xml”.实际运行时,需要将后缀由“.xml”改为“.py". 批量自动获取apk软件信息 ...
- 工作总结 页面通过ajax 动态绑定 列表页面 列表每一项的事件 事件触发多次
遇到一个问题 困惑了两天 页面的事件不知道为什么触发多次 试了各种办法 对比了之前的页面 各种测试 不是js css 外部链接 重复加载问题 也不是嵌套的 div 问题 各种都试过 最终发现 是 ...
- RAII手法封装相互排斥锁
CriticalSectionWrapper是一个接口类 class CriticalSectionWrapper { public: // Factory method, constructor d ...
- 人不在囧途 便携式3G上网设备+套餐推介
来源: http://network.pconline.com.cn/317/3174920_all.html [PConline资讯]过年回家,本该是再高兴不过的事,可一想到要在路上颠簸数十个小时, ...