_search 查询如何在 Elasticsearch 中工作?
How do _search queries work in Elasticsearch?
更多的问题是:“Elasticsearch 节点如何交互以提供特定的搜索结果以及搜索请求的流程是什么?”
我已经参考了以下链接来理解,但在我试图理解的内容中它们不是很清楚。
- https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html
根据上述文档,
- “数据节点”是调用 _search 查询时执行所有处理的节点。
- “摄取节点”在索引数据之前进行一些预处理。
那么,以上两种说法正确吗?
因此,
- 当 _search 查询发生时,摄取节点是否可以执行任何角色?
- 数据节点在索引数据时有什么作用吗?
- 在搜索数据时,其他节点是否有任何作用?
或者,如果您可以帮助解释搜索请求的流程(哪个节点接收 API 调用,哪个节点过滤数据,哪个节点运行聚合等),那将是真正的有帮助。
如果相关,那么我使用的是 Elastic Search 7.5
当 _search
查询发生时,Ingest 节点是否有任何作用?
如果它是一个专用 ingest
节点而不是,如果它还保存数据(分片和副本)而不是。
数据节点在索引数据时有什么作用吗?
是的,数据节点实际上持有数据(分片和副本),最终它们负责索引和搜索这些数据
其他节点在搜索数据时有什么作用吗? 是的,请参考ES中co-ordinating role的职责
简而言之,ingest node只是做数据的转换,而data nodes实际持有数据,所有角色都可以专有或共享给ES中的一个节点。
以下是搜索请求中的步骤--
- 协调节点接收请求,它可以是专用节点或数据节点来完成这项工作(默认)。
- 协调节点将请求转发到数据节点,数据节点保存您的搜索请求的分片(主分片或副本分片)。
- 数据节点进行本地搜索并将结果发送回协调节点。
- 协调节点将从所有节点聚合前 10 个搜索结果(默认为 10)并发回响应。
更多的问题是:“Elasticsearch 节点如何交互以提供特定的搜索结果以及搜索请求的流程是什么?”
我已经参考了以下链接来理解,但在我试图理解的内容中它们不是很清楚。
- https://www.elastic.co/guide/en/elasticsearch/reference/master/ingest.html
- https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html
根据上述文档,
- “数据节点”是调用 _search 查询时执行所有处理的节点。
- “摄取节点”在索引数据之前进行一些预处理。
那么,以上两种说法正确吗? 因此,
- 当 _search 查询发生时,摄取节点是否可以执行任何角色?
- 数据节点在索引数据时有什么作用吗?
- 在搜索数据时,其他节点是否有任何作用?
或者,如果您可以帮助解释搜索请求的流程(哪个节点接收 API 调用,哪个节点过滤数据,哪个节点运行聚合等),那将是真正的有帮助。
如果相关,那么我使用的是 Elastic Search 7.5
当
_search
查询发生时,Ingest 节点是否有任何作用? 如果它是一个专用ingest
节点而不是,如果它还保存数据(分片和副本)而不是。数据节点在索引数据时有什么作用吗? 是的,数据节点实际上持有数据(分片和副本),最终它们负责索引和搜索这些数据
其他节点在搜索数据时有什么作用吗? 是的,请参考ES中co-ordinating role的职责
简而言之,ingest node只是做数据的转换,而data nodes实际持有数据,所有角色都可以专有或共享给ES中的一个节点。
以下是搜索请求中的步骤--
- 协调节点接收请求,它可以是专用节点或数据节点来完成这项工作(默认)。
- 协调节点将请求转发到数据节点,数据节点保存您的搜索请求的分片(主分片或副本分片)。
- 数据节点进行本地搜索并将结果发送回协调节点。
- 协调节点将从所有节点聚合前 10 个搜索结果(默认为 10)并发回响应。