当前位置: 首页 > 面试题库 >

详细描述一下 Elasticsearch 搜索的过程?

温镜
2023-03-14
本文向大家介绍详细描述一下 Elasticsearch 搜索的过程?相关面试题,主要包含被问及详细描述一下 Elasticsearch 搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下

1、搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch;

2、在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为 from + size 的优先队列。

PS:在搜索的时候是会查询 Filesystem Cache 的,但是有部分数据还在 MemoryBuffer,所以搜索是近实时的。

3、每个分片返回各自优先队列中 所有文档的 ID 和排序值 给协调节点,它合并这些值到自己的优先队列中来产生一个全局排序后的结果列表。

4、接下来就是 取回阶段,协调节点辨别出哪些文档需要被取回并向相关的分片提交多个 GET 请求。每个分片加载并 丰富 文档,如果有需要的话,接着返回文档给协调节点。一旦所有的文档都被取回了,协调节点返回结果给客户端。

5、补充:Query Then Fetch 的搜索类型在文档相关性打分的时候参考的是本分片的数据,这样在文档数量较少的时候可能不够准确,DFS Query Then Fetch 增加了一个预查询的处理,询问 Term 和 Document frequency,这个评分更准确,但是性能会变差。

 

img

 

 类似资料:
  • 本文向大家介绍详细描述一下 Elasticsearch 搜索的过程?相关面试题,主要包含被问及详细描述一下 Elasticsearch 搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下 1、搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch; 2、在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为

  • 本文向大家介绍详细描述一下Elasticsearch索引文档的过程?相关面试题,主要包含被问及详细描述一下Elasticsearch索引文档的过程?时的应答技巧和注意事项,需要的朋友参考一下 面试官:想了解ES的底层原理,不再只关注业务层面了。 解答: 这里的索引文档应该理解为文档写入ES,创建索引的过程。 文档写入包含:单文档写入和批量bulk写入,这里只解释一下:单文档写入流程。 记住官方文档

  • 本文向大家介绍详细描述一下 Elasticsearch 索引文档的过程。相关面试题,主要包含被问及详细描述一下 Elasticsearch 索引文档的过程。时的应答技巧和注意事项,需要的朋友参考一下 协调节点默认使用文档 ID 参与计算(也支持通过 routing),以便为路由提供合适的分片。 shard = hash(document_id) % (num_of_primary_shards)

  • 本文向大家介绍详细描述一下 Elasticsearch 更新和删除文档的过程。相关面试题,主要包含被问及详细描述一下 Elasticsearch 更新和删除文档的过程。时的应答技巧和注意事项,需要的朋友参考一下 1、删除和更新也都是写操作,但是 Elasticsearch 中的文档是不可变的,因此不能被删除或者改动以展示其变更; 2、磁盘上的每个段都有一个相应的.del 文件。当删除请求发送后,文

  • 本文向大家介绍详细的描述一次测试用例设计的完整的过程。相关面试题,主要包含被问及详细的描述一次测试用例设计的完整的过程。时的应答技巧和注意事项,需要的朋友参考一下 1)立项后测试需要拿到的文档:需求文档和设计文档,分析测试需求 2)设计测试用例 3)测试用例评审 4)环境搭建,测试环境=软件+硬件+网络+数据准备+测试工具 5)执行测试,并记录缺陷 6)测试总结报告及操作手册

  • 本文向大家介绍请详细描述AJAX的工作原理相关面试题,主要包含被问及请详细描述AJAX的工作原理时的应答技巧和注意事项,需要的朋友参考一下 AJAX是用于网页和服务器进行异步通信的技术。 基本原理是,通过XMLHttpRequest向服务器发送异步请求,获得服务器返回的数据,利用js更新页面。 其核心功能在于XMLHttpRequest对象。 创建一个ajax的步骤大致可以分为以下几步 创建XHM