Elasticsearch 过滤器
2024-09-08 21:03:18
序
本文主要记录es的查询过滤的使用。
使用过滤器
过滤器不影响评分,而评分计算让搜索变得复杂,而且需要CPU资源,因而尽量使用过滤器,而且过滤器容易被缓存,进一步提升查询的整体性能。
post_filter(先查询再过滤
)
{
"query": {
"match":{"title":"Catch-22"}
},
"post_filter":{
"term":{"year":}
}
}
filtered(先过滤再查询,速度快
)
{
"query": {
"filtered": {
"query": {
"match": {
"title": "Catch-22"
}
},
"filter": {
"term": {
"year":
}
}
}
}
}
这种方式在2.2版本被废弃调用,改用bool的方式
{
"query": {
"bool": {
"must": {
"match": {
"title": "Catch-22"
}
},
"filter": {
"term": {
"year":
}
}
}
}
}
过滤器种类
范围过滤器
{
"post_filter":{
"range":{
"year":{
"gte":,
"lte":
}
}
}
}
exists过滤器
{
"post_filter":{
"exists":{
"field":"year"
}
}
}
missing过滤器
过滤掉给定字段有值或缺失的文档
{
"post_filter":{
"missing":{
"field":"year",
"null_value":,
"existence":true
}
}
}
脚本过滤器
过滤掉发表在一个世纪以前的书
{
"post_filter":{
"script":{
"script":"now - doc[‘year‘].value > 100",
"params":{"now":}
}
}
}
类型过滤器
当查询运行在多个索引上时,有用
{
"post_filter":{
"type":{
"value":"book"
}
}
}
限定过滤器
限定每个分片返回的文档数
{
"post_filter":{
"limit":{
"value":
}
}
}
标识符过滤器
比如要指定标识符为1,2,3的文档
{
"post_filter":{
"ids":{
"type":["book"],
"values":[,,]
}
}
}
组合过滤器
{
"query": {
"bool": {
"must": {
"range": {
"year": {
"gte": ,
"lte":
}
}
},
"should": {
"term": {
"available": true
}
},
"boost":
}
}
}
最新文章
- java中hashMap的排序
- 从几个方向进行Web渗透测试
- URAL 1160 Network(最小生成树)
- 数组工具类 - ArrayUtil.java
- 【转】android新建项目时 出现appcompat_v7工程错误和红色感叹号
- html5常用英语单词
- onchange、onclick、onblur等事件区别
- 常见JedisConnectionException异常分析
- ASP.NET CORE入门之读取Json配置文件
- ScrollView嵌套ListView后,进入页面不从顶部开始显示的问题解决
- git 分支管理规范
- ie11开发者模式打开空白
- Solve Error: Library not loaded: @rpath/RoutingHTTPServer.framework/RoutingHTTPServer
- tail -f 实时查看日志文件 linux查看日志后100行
- openCV学习——一、图像读取、显示、输出
- TCP 流量控制、拥塞控制
- 【Java】 大话数据结构(8) 串的模式匹配算法(朴素、KMP、改进算法)
- PHP--面向对象的设计原则
- django中日志配置
- Integer.parseInt()和Integer.valueOf()方法详解
热门文章
- ios开发之--字符串局部改变颜色
- java的代理和动态代理简单测试
- Android系统启动流程
- codeforces水题100道 第二十题 Codeforces Round #191 (Div. 2) A. Flipping Game (brute force)
- Android开发懒人库 -- ButterKnife (转载)
- Subversion权限详解
- 转载:C/C++关于string.h头文件和string类
- 浏览器缓存机制介绍 + 常用 http 状态码
- C# 泛型的简单讲解和应用
- LeetCode 14 Longest Common Prefix(最长公共前缀)