【Elasticsearch】搜索类型 SearchType

561 篇文章 547 订阅 ¥79.90 ¥99.00
本文详细介绍了Elasticsearch的四种搜索类型:QUERY_AND_FETCH、QUERY_THEN_FETCH(默认)、DFS_QUERY_AND_FETCH及DFS_QUERY_THEN_FETCH。针对每种类型的查询过程、数据返回方式以及优缺点进行了阐述,特别是对数据量、排名和性能的影响进行了讨论。DFS_QUERY_THEN_FETCH在搜索准确性上最佳,但性能最慢,而QUERY_THEN_FETCH则是性能与准确性之间的折衷选择。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.概述

es在查询时,可以指定搜索类型为

QUERY_THEN_FETCH
QUERY_AND_FEATCH
DFS_QUERY_THEN_FEATCH
DFS_QUERY_AND_FEATCH

我们以查询匹配度最高的Top10为例,讲解下他们的区别。

2.QUERY_AND_FETCH

  1. 客户端把请求发送给集群中的某一个节点,这个节点会把查询请求发送给所有分片去执行,

  2. 每个分片会把查询的数据(包含数据的分值,以及数据的详细内容)返回给某一个节点进行汇总,排序,然后把这些数据返回给客户端。

这样客户端可能会收到(10*分片数量)的数据

这种方案,数据量和排名都有问题。

优点:效率高,查询速度快

3.QUERY_THEN_FETCH(默认)

  1. 客户端把请求发送给集群中的某一个节点,这个节点会把查询请求发送给所有分片去执行,

  2. 每个分片会把查询的数据(包含数据的分值,以及数据ID)返回给某一个节点进行汇总,排序,取前10名

  3. 根据前10名的id到对应的分片查询数据的详细内容,

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值