并行过滤器 | 学习笔记

简介: 快速学习并行过滤器

开发者学堂课程【ElasticSearch 入门精讲并行过滤器学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/10024


并行过滤器


内容简介:

一、简述 ES Rest _并行过滤器

二、代码演示

三、总结


一、简述 ES Rest _并行过滤器

(1)前言

文档中 score(_score字段是搜索结果)。score 是一个数字型的,是一种相对方法匹配查询文档结果。

分数越高,搜索关键字与该文档相关性越高;越低,搜索关键字与该文档相关性越低。在elasticsearch中所有的搜索都会触发相关性分数计算。

如果我们不使用相关性分数计算,那要使用另一种查询能力,构建过滤器。

(2)过滤器是类似于查询的概念,除了得以优化,更快的执行速度的两个主要原因:

1.过滤器不计算得分,所以他们比执行查询的速度

2.过滤器可缓存在内存中,允许重复搜索


二、代码演示

为了使手提炼过滤器,先介绍过滤溶液A(Ne=mol/advanced _b00d-booted-记入与其他的含溢透物混杂s(记含一个过滤器、100g的pH)变一般用于数字或日期过滤使用过滤器搜索返回balances(20000, 3000),

换句话说,

balance)=20000&balance<=30000.

curl -XPOST 'localhost:9200/bank/_ search? pretty' -d

’{

query”:{

"filtered":{

"query":{"match _ all":{}},

"filter":{

"range":{

"balance":{

“gte”:20000,

"Ite":30000

上述代码运行的结果为;

image.png

代码运行:

{

“query”:{

"filtered":{

"query":{"match _ all":{}},

}

运行结果:

image.png

注意:

elasticsearch 旧版本 flitered 替换。从 es 的5.0版本开始,原先的 filtered 逼包,类似 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”

}

运行以下代码得到结果:

{

“query”:{

"bool":{

"query":{"match _ all":{}},

"filter":{

"range":{

"balance":{

“gte”:20000,

"Ite":30000

}

注意,bool 中不支持 query 类型,所以要将 query 换成 must

代码变换成:

{

“query”:{

"bool":{

"must":{"match _ all":{}},

"filter":{

"range":{

"balance":{

“gte”:20000,

"Ite":30000

}

得到运行结果如下:

image.png


三、总结

过滤查询包含 match_all 查询(查询部分)和一系列过滤(过滤部分)。可以代替任何其他查询到查询部分以及其他过滤器过滤部分。在上述情况下,过滤器范围智能,因为文档落入 range 所有匹配“平等”,级比另一个更相关,没有文档。

一般情况,最明智的方式决定是否使用 flier or querry,就看你是否关心相关性分数。如果相关性不重要,那就使用filter,否则就使用query。

queries and filters 很类似于关系型数据库中的“ SELECT WHERE clause ”

相关文章
|
NoSQL MongoDB 索引
MongoDB副本集同步原理
MongoDB的同步原理,官方文档介绍的比较少,网上资料也不是太多,下面是结合官方文档、网上资料和测试时候的日志,整理出来的一点东西。
3893 0
|
2月前
|
人工智能 数据可视化 开发者
抖音怎么发教学智能体的视频?阿里云百炼实战指南,智能体来了教你落地​
2025年,AI智能体教学成抖音新风口。本文详解如何借助阿里云百炼平台,从搭建教学智能体、生成合规视频到SEO优化,全流程打造高搜索量教学内容,助力开发者实现技术变现与品牌曝光,抢占AI传播先机。(238字)
|
2月前
|
监控 算法 Java
深入理解JVM《垃圾收集(GC)机制与算法 - 宇宙的清洁工》
Java通过垃圾收集(GC)实现自动内存管理,避免手动释放内存导致的泄漏或崩溃。主流JVM采用可达性分析算法判断对象生死,结合分代收集理论,使用标记-清除、复制、标记-整理等算法回收内存。G1、ZGC等现代收集器进一步提升性能与停顿控制。
|
SQL 关系型数据库 MySQL
【MySQL异常解决】MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案
【MySQL异常解决】MySQL执行SQL文件出现【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解决方案
1529 0
|
安全 Python
Python系列(16)—— string类型转float类型
Python系列(16)—— string类型转float类型
|
前端开发 JavaScript API
【React工作记录九十九】ant design mobile实现tab滚动效果和闪屏小记
【React工作记录九十九】ant design mobile实现tab滚动效果和闪屏小记
408 0
|
Python
PyCharm错误解决办法:ModuleNotFoundError: No module named 'matplotlib'
PyCharm错误解决办法:ModuleNotFoundError: No module named 'matplotlib'
1040 0
PyCharm错误解决办法:ModuleNotFoundError: No module named 'matplotlib'
|
Windows
Windows Server 2016 配置指南 之 设置虚拟内存
由于 Windows 带 GUI 的版本的最低配置就是 1G 内存,因此很多人购买 1G 内存 VPS 跑 Windows 实例都是很吃力的,所以我们就有必要设置虚拟内存来帮助系统正常运行了。 不过一般来说,虚拟内存效率相对真实内存是极低的且会让磁盘 IO 性能下降,所以一般的 VPS 默认是
15148 0
|
存储 分布式计算 NoSQL
支持 Flink/Gluten/优雅升级...Celeborn0.3.0 介绍
本文介绍 Celeborn 新发布的 0.3.0 版本的重要 Feature,包括但不限于:支持 Flink,支持 Native Spark(Gluten),快速优雅升级,支持 HDFS 等。
1004 0
支持 Flink/Gluten/优雅升级...Celeborn0.3.0 介绍
|
机器学习/深度学习 数据可视化 数据挖掘
模拟生成问卷数据
模拟生成问卷数据
939 0