Elasticsearch——深入了解Search的运行机制
  vxNQtvtQlfbi 2023年11月02日 37 0

Search的运行机制

Search执行的时候分为两个运行步骤:

  • Query阶段
  • Fetch阶段

Query阶段

Fetch阶段

相关性算分问题

  • 相关性算分在shard与shard之间是相互独立的,也就意味着同一个Term的IDF等值在不同shard上是不同的,文档的相关性算分和它所处的shard相关
  • 在文档数量不多时,会导致相关性算分严重不准的情况发生

解决思路有两个:

  • 一是设置分片数为1个,从根本上排除问题,在文档数量不多的时候可以考虑该方案,比如百万到千万级别的数量。
  • 二是使用DFS Query-Then-Fetch查询方式

排序

es默认会采用相关性算分排序,用户可以通过设定sorting参数来自行设定排序规则

分页与遍历

es提供了3种方式来解决分页与遍历的问题:

  • from/size
  • scroll
  • search_after

from/size

scroll

search_after

应用场景

 

参考: https://www.jianshu.com/p/b57229a200aa

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  tdJcRsFnVfPo   2023年11月02日   30   0   0 5ef53D
  zRK4BzBUK860   2023年11月02日   35   0   0 elasticsearch字段nginx
  qmj2xyt4e0cp   2023年11月02日   39   0   0 nginxsed3cnginxsed3c
vxNQtvtQlfbi