为没有数据的字段上的嵌套布尔查询返回空结果

mmvthczy  于 2021-06-14  发布在  ElasticSearch
关注(0)|答案(1)|浏览(461)

我正在执行以下查询:

这个 ns.ns 字段已配置(已成功设置Map和设置),但没有此字段的源数据。我得到了elasticsearch返回的空结果。是这样吗?我的意思是,如果没有数据,这个查询将返回空结果,对吗?仍在学习,谢谢你的帮助。

jrcvhitl

jrcvhitl1#

这个 ns.ns 字段已配置(已成功设置Map和设置),但没有此字段的源数据。我得到了elasticsearch返回的空结果。是这样吗?如果没有数据,这个查询将返回一个空结果,对吗?
正如你上面提到的 ns 字段Map为类型 nested ,因此,当您点击搜索查询时,将不会得到 "index_not_found_exception" ,因为索引已经存在。
搜索api返回与请求中定义的查询匹配的搜索命中。当您点击上述问题中提到的搜索查询时,会得到以下响应:

  1. {
  2. "took": 17,
  3. "timed_out": false,
  4. "_shards": {
  5. "total": 1,
  6. "successful": 1,
  7. "skipped": 0,
  8. "failed": 0
  9. },
  10. "hits": {
  11. "total": {
  12. "value": 0,
  13. "relation": "eq"
  14. },
  15. "max_score": null,
  16. "hits": []
  17. }
  18. }

响应提供有关搜索请求的以下信息:
Taked–elasticsearch运行查询所用的时间(毫秒)
超时–搜索请求是否超时
_shards–搜索了多少个shard,以及成功、失败或跳过的shard的详细信息。
最大分数–找到的最相关文档的分数
hits.total.value-找到了多少匹配的文档
这个 hits.hits 返回一个空数组( [] ), hits.hits 是符合您的搜索查询的已找到文档的数组。因为这里没有文档被索引,所以当搜索查询被命中时,没有文档被匹配。
请参阅此es文档,以了解有关es中如何进行评分的更多信息
在上述回复中 max_score 价值是 NULL ,elasticsearch中的\u分数是确定匹配与查询的相关性的一种方法。

展开查看全部

相关问题