ES查询原理和timeout讲解

本文介绍了ES查询的详细过程,从客户端发送请求到coordinate node,再到document路由和返回。讲解了搜索结果中的took、hits.total、hits.max_score等参数含义,以及timeout参数的作用。timeout决定了在指定时间内返回多少数据,过短可能导致部分数据未返回。最后讨论了multi-index和multi-type的搜索模式。
摘要由CSDN通过智能技术生成

ES的查询过程
1、客户端发送请求到任意一个node,成为coordinate node
2、coordinate node对document进行路由,将请求转发到对应的node(primary或者replicanode上)上,此时使用round-robin随机轮询算法,在primary shard以及其所有的replica中随机选择一个,让读请求负载均衡
3、接收请求的node返回document给coordinate node
4、coordinate node返回document给客户端
5、特殊情况:document如果还在建议索引过程中,可能只有primary shard有,任何一个replica shard都没有,此时可能导致无法获取到document。但是document完成索引建立之后,primary shard和replica shard就都有了

1、搜索出来的一大堆参数,每个参数具体是什么意思
took:表示整个搜索请求花费了多少毫秒
hits.total:本次搜索,返回了几条结果
hits.max_score:本次搜索的所有结果中,最大的相关度分数是多少。每一条document对于search的相关度,越相关,_score分数越大,排位越靠前
hits.hits:默认查询出前10条数据,完整数据,_score降序排序
shards:shard fail的条件,不影响其他shard。默认情况下来说,一个搜索请求,会打到一个inde

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值