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