elasticsearch学习笔记(二十一)——Elasticsearch _search结果的含义以及timeout机制

栏目: 后端 · 发布时间: 5年前

内容简介:我们如果发出一个搜索请求的话,会拿到一堆搜索结果下面主要分析一下返回结果的各种数据的含义和timeout机制took: 整个搜索请求花费了多少毫秒

我们如果发出一个搜索请求的话,会拿到一堆搜索结果

GET /test/_search
{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "test",
        "_type" : "_doc",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "field1" : "value1",
          "field2" : "value2"
        }
      },
      {
        "_index" : "test",
        "_type" : "_doc",
        "_id" : "3",
        "_score" : 1.0,
        "_source" : {
          "field1" : "value3"
        }
      }
    ]
  }
}

下面主要分析一下返回结果的各种数据的含义和timeout机制

1、_search查询返回结果数据含义分析

took: 整个搜索请求花费了多少毫秒

timed_out:表示请求是否超时

hits.total: value表示返回结果的总数,relation表示关系 例如一般是eq表示相等

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

hits.hits: 表示查询出来document的结果集合

shards: total表示打到的所有分片,successful表示打到的分片中查询成功的分片,skipped表示打到的分片中跳过的分片,failed表示打到的分片中查询失败的分片

2、search timeout机制

因为ES默认是没有timeout的,所以先描述一下场景假设我们有些搜索应用,对时间是很敏感的,比如电商网站,你不能让用户等个10分钟,如果那样的话,人家早就走了,不来买东西了。

于是我们就需要有timeout机制,指定每个shard,就只能在timeout时间范围内,将搜索到的部分数据(也可能全都搜索到了),直接返回给客户端,而不是等到所有数据全都搜索出来以后在返回。

这样就可以确保说,一次搜索请求可以在用户指定的timeout时长内完成,为一些时间敏感的搜索应用提供良好的支持。

注意:ES在默认情况下是没有所谓的timeout的,比如说如果你的搜索特别慢,每个shard都要花好几分钟才能查询出来所有的数据,那么你的搜索请求也会等待好几分钟之后才会返回。

下面画图简单描述一下timeout机制

elasticsearch学习笔记(二十一)——Elasticsearch _search结果的含义以及timeout机制


以上所述就是小编给大家介绍的《elasticsearch学习笔记(二十一)——Elasticsearch _search结果的含义以及timeout机制》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的数学3

程序员的数学3

[日] 平冈和幸、[日] 堀玄 / 卢晓南 / 人民邮电出版社 / 2016-3 / 79.00元

本书沿袭“程序员的数学”系列平易近人的风格,用通俗的语言和具象的图表深入讲解了编程中所需的线性代数知识。内容包括向量、矩阵、行列式、秩、逆矩阵、线性方程、LU分解、特征值、对角化、Jordan标准型、特征值算法等。一起来看看 《程序员的数学3》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换