美文网首页ES
ES搜索结果中各个字段介绍

ES搜索结果中各个字段介绍

作者: Super淳语 | 来源:发表于2021-10-13 14:25 被阅读0次
hits

返回结果中最重要的部分是 hits ,它包含 total 字段来表示匹配到的文档总数,并且一个 hits 数组包含所查询结果的前十个文档。

在 hits 数组中每个结果包含文档的 _index 、 _type 、 _id ,加上 _source 字段。这意味着我们可以直接从返回的搜索结果中使用整个文档。这不像其他的搜索引擎,仅仅返回文档的ID,需要你单独去获取文档。

每个结果还有一个 _score ,它衡量了文档与查询的匹配程度。默认情况下,首先返回最相关的文档结果,就是说,返回的文档是按照 _score 降序排列的。在这个例子中,我们没有指定任何查询,故所有的文档具有相同的相关性,因此对所有的结果而言 1 是中性的 _score 。

max_score 值是与查询所匹配文档的 _score 的最大值。

took

took 值告诉我们执行整个搜索请求耗费了多少毫秒。

shard

_shards 部分告诉我们在查询中参与分片的总数,以及这些分片成功了多少个失败了多少个。正常情况下我们不希望分片失败,但是分片失败是可能发生的。如果我们遭遇到一种灾难级别的故障,在这个故障中丢失了相同分片的原始数据和副本,那么对这个分片将没有可用副本来对搜索请求作出响应。假若这样,Elasticsearch 将报告这个分片是失败的,但是会继续返回剩余分片的结果。

timeout

timed_out 值告诉我们查询是否超时。默认情况下,搜索请求不会超时。如果低响应时间比完成结果更重要,你可以指定 timeout 为 10 或者 10ms(10毫秒),或者 1s(1秒):

GET /_search?timeout=10ms

在请求超时之前,Elasticsearch 将会返回已经成功从每个分片获取的结果。

应当注意的是 timeout 不是停止执行查询,它仅仅是告知正在协调的节点返回到目前为止收集的结果并且关闭连接。在后台,其他的分片可能仍在执行查询即使是结果已经被发送了。

使用超时是因为 SLA(服务等级协议)对你是很重要的,而不是因为想去中止长时间运行的查询。

相关文章

  • ES搜索结果中各个字段介绍

    hits 返回结果中最重要的部分是 hits ,它包含 total 字段来表示匹配到的文档总数,并且一个 hits...

  • 聚焦Python分布式爬虫必学框架 Scrapy 打造搜索引擎

    了解搜索网站大体功能 搜索网站首页 搜索网站搜素结果页 es完成搜索建议-搜索建议字段保存 事实上 elastic...

  • Elasticsearch--- mapping是什么

    模拟数据 搜索测试: 为什么会是这样的结果:这和es自动建立的mapping有关 可以看到每个字段的类型 因为es...

  • Elasticsearch geo_point 按距离搜索 --

    如果ES索引的字段类型为:geo_point,我们就可以按距离搜索文档。 下面以搜索附近店铺为例子介绍具体用法。 ...

  • 数据查询

    ES查询用例 单个index 1、全文检索 多字段查询 2、地图搜索 地图字段查询,依赖数据中包含带有geo_lo...

  • mysql中explain中各个字段介绍

    select_type :对应查询复杂,simple是简单查询,不包含子查询和union查询。复杂查询不怎么用到,...

  • python读取MySQL插入ES

    注释:1.MySQL表中字段类型需和es字段相互对应2.日期转为字符串且“-”需要换为“\” 结果:

  • 通过字段过滤<< Discover <<

    通过字段过滤(Filtering by Field) 您可以过滤搜索结果,只显示那些在字段中包含特定值的文档。您还...

  • ES搜索结果优化

    默认匹配查询 按照ES的默认分词计算匹配度的结果 权重查询 提升某些字段的权重,但是这样会导致完全匹配的被排在后面...

  • Elasticsearch动态映射

    一、动态映射介绍 在关系型数据库中,得先创建表,指定字段和字段类型,才能将数据插入表中。在ES中,索引就相当于表,...

网友评论

    本文标题:ES搜索结果中各个字段介绍

    本文链接:https://www.haomeiwen.com/subject/shasoltx.html