ElasticSearch最佳入门实践(三十三)search结果深入解析search timeout机制揭秘

1、我们如果发出一个搜索请求的话,会拿到一堆搜索结果,这个搜索结果里的各种数据,都代表了什么含义

ElasticSearch最佳入门实践(三十三)search结果深入解析search timeout机制揭秘_第1张图片

took:整个搜索请求花费了多少毫秒
hits.total:本次搜索,返回了几条结果
hits.max_score:本次搜索的所有结果中,最大的相关度分数是多少,每一条document对于search的相关度,越相关,_score分数越大,排位越靠前
hits.hits:默认查询前10条数据,完整数据,_score降序排序

shards:shards fail的条件(primary和replica全部挂掉),不影响其他shard。默认情况下来说,一个搜索请求,会打到一个index的所有primary shard上去,当然了,每个primary shard都可能会有一个或多个replic shard,所以请求也可以到primary shard的其中一个replica shard上去。

2、timeout

我们有些搜索应用对时间很是敏感的,比如电商网站,你不能搜索个东西,10分钟还不出现结果,如果那样,客人早就走了。

timeout:是指每个shard 就只能在timeout的时间范围内,将搜索到的部分数据(也可能是全部搜索到的数据)直接返回client程序,而不是等到所有的数据全部搜索出来才返回。
确保,一次搜索请求可以在用户指定的timeout时间范围内完成。为一些时间敏感的搜索应用提供很好的支持

timeout:默认无timeout,latency平衡completeness,手动指定timeout,timeout查询执行机制
timeout=10ms,timeout=1s,timeout=1m
GET /_search?timeout=10m

你可能感兴趣的:(ElasticSearch最佳入门实践(三十三)search结果深入解析search timeout机制揭秘)