初识搜索引擎_search结果深入解析(search timeout机*颐兀

发布于:2021-08-03 21:47:58

如果我们发出一个搜索请求,会得到一堆的结果,这里我们讲解这些搜索里的各个数据都代表什么含义


GET test_index/test_type/_search

运行结果


{
"took": 240,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 5,
"max_score": 1,
"hits": [
{
"_index": "test_index",
"_type": "test_type",
"_id": "8",
"_score": 1,
"_source": {
"num": 1,
"tags": []
}
},
{
"_index": "test_index",
"_type": "test_type",
"_id": "2",
"_score": 1,
"_source": {
"test_field": "test2"
}
},
{
"_index": "test_index",
"_type": "test_type",
"_id": "6",
"_score": 1,
"_source": {
"test_field1": "test1",
"test_field2": "test123"
}
},
{
"_index": "test_index",
"_type": "test_type",
"_id": "1",
"_score": 1,
"_source": {
"test_field": "test123"
}
},
{
"_index": "test_index",
"_type": "test_type",
"_id": "3",
"_score": 1,
"_source": {
"test_field": "test3"
}
}
]
}
}

took:表示本次搜索请求花费了多少毫秒,这里就是240毫秒


shards:表示你本次搜索请求打到了多少shard上去,有多少shard是成功的。shard fail的条件,(primary shard和replica shard全部挂掉)不会影响其他shard。默认情况下,一个搜索请求会打到一个index的所有primary shard上去,当然,如果一个primary shard 有一个或多个replica shard,所以请求也会到primary shard的replica shard上去。


hits.total:本次搜索返回了多少条结果。


hits.max_score:本次搜索的所有结果中,相关度分数最大的是多少。每一条document对search的相关度越相关_score分数越大,排位越靠前。


hits.hits:默认查询前10条,完整数据,_score降序排序。


timeout:默认情况是没有所谓的timeout的,当然也可以手动指定timeout。


timeout执行机制,指定每个shard只能在timeout时间范围内,讲搜索到的部分数据(也可能是全部数据)直接返回给client程序,而不是等到所有的数据全部搜索出来再返回。

相关推荐

最新更新

猜你喜欢