es中filtered和filter的区别
发布日期:2021-07-28 08:29:44
浏览次数:1
分类:技术文章
本文共 1054 字,大约阅读时间需要 3 分钟。
1. bool 和 filtered
1.1 说明 es 5.0版本更新后,filtered的查询将替换为bool查询。filtered是比较老的的版本的语法。现在目前已经被bool替代。推荐使用bool。
官方文档地址:链接
1.2 示例使用
老版本写法 GET _search { "query": { "filtered": { "query": { "match": { "text": "quick brown fox" } }, "filter": { "term": { "status": "published" } } } } } 新版本的写法 GET _search { "query": { "bool": { "must": { "match": { "text": "quick brown fox" } }, "filter": { "term": { "status": "published" } } } } } 2. filter的两种用法 嵌套在bool下 { "query": { "bool": { "must": { "term": { "term":{"title":"kitchen3"} } }, "filter": { "term": { "price":1000 } } } } } 在根目录下使用 { "query":{ "term":{"title":"kitchen3"} }, "filter":{ "term":{"price":1000} } } 区别位置 区别 备注
bool下 在filter query先执行filter,不计算score,再执行query。 如 果还要在搜索结果中执行aggregation操作,filter query聚合的是filter和query之后的结果,而filter聚合的是query的结果 根目录下 根目录中的filter在query后执行。 如果还要在搜索结果中执行aggregation操作,filter query聚合的是filter和query之后的结果,而filter聚合的是query的结果 ———————————————— 版权声明:本文为CSDN博主「瘦子没有夏天」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/weixin_39723544/article/details/103676958转载地址:https://blog.csdn.net/sinat_17775997/article/details/115874148 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
做的很好,不错不错
[***.243.131.199]2024年04月21日 06时17分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP防止注入攻击
2019-04-27
多路IO复用模型 select epoll 等
2019-04-27
Linux Epoll介绍和程序实例
2019-04-27
output_buffering详细介绍
2019-04-27
php缓冲 output_buffering和ob_start
2019-04-27
php error_reporting 详解
2019-04-27
剖析PHP中的输出缓冲
2019-04-27
HTTP响应头不缓存
2019-04-27
apache的keepalive和keepalivetimeout(apache优化)
2019-04-27
内容协商 (Content Negotiation)
2019-04-27
关于URL编码
2019-04-27
HTTP中的缓存
2019-04-27
Varnish 和 Squid比较到底强多少
2019-04-27
mysql常用语句集锦
2019-04-27
PHP的Smarty
2019-04-27
ecshop模板的原理分析
2019-04-27
深入探究Smarty模版
2019-04-27
PHP高效率写法(详解原因)
2019-04-27
PHP数组实际占用内存大小的分析
2019-04-27
PHP运行模式
2019-04-27