在elasticsearch中,搜索查询是如何工作的?

guz6ccqo  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(371)

问题更多地围绕着:“elasticsearch节点如何交互以给出特定的搜索结果,以及搜索请求的流程是什么?”
我已经参考了下面的链接来理解,但是它们不是很清楚,在我试图理解的内容中。
https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html
https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html

根据上述文件,
“数据节点”是在调用搜索查询时执行所有处理的节点。
“摄取节点”在索引数据之前做一些预处理。
那么,以上两种说法正确吗?因此,
发生搜索查询时,摄取节点是否有任何角色要执行?
在索引数据时,数据节点是否有任何要执行的角色?
在搜索数据时,其他节点是否有任何角色要执行?
或者,如果您可以帮助解释搜索请求的流程(哪个节点接收api调用、哪个节点过滤数据、哪个节点运行聚合等等),那么这将非常有用。
如果这是相关的,那么我就ElasticSearch7.5

dgjrabp2

dgjrabp21#

_search 查询发生了什么?如果是专门的 ingest 节点比否,如果它还保存数据(碎片和副本)比是。
在索引数据时,数据节点是否有任何要执行的角色?是的,数据节点实际上持有数据(碎片和副本),最终它们负责索引和搜索这些数据
在搜索数据时,其他节点是否有任何角色要执行?是的,请参考es的协调职责。
简言之,摄取节点只是对数据进行转换,数据节点实际上持有数据,所有角色都可以专用或共享给es中的一个节点。
以下是搜索请求中的步骤--
协调节点接收请求,可以是专用节点,也可以是数据节点(默认)。
协调节点将请求转发给数据节点,数据节点保存用于搜索请求的碎片(主碎片或副本)。
数据节点执行本地搜索并将结果发送回协调节点。
协调节点将聚合来自所有节点的前10个搜索结果(默认值为10)并发回响应。

相关问题