Elasticsearch:仅返回嵌套的 inner_hits

标签 elasticsearch

我有以下查询:

GET /networkcollection/branch_routers/_search/
{
  "query": {
    "nested": {
      "path": "queries",
      "query": {
        "bool": {
          "must": [
            { "match": 
              { "queries.dateQuery": "20160101T200000.000Z" }
            }
          ]
        }
      },
      "inner_hits" : {}
    }
  }
}

这将返回“hits”对象(整个文档)以及“inner_hits”对象(嵌套在 hits 中)。

有没有办法让我只返回出现在“inner_hits”结果中的匹配“queries”元素,而不获取整个文档?

最佳答案

应该可以通过禁用 source-field 来实现它在顶层通过指定 "_source": false

POST /networkcollection/branch_routers/_search/
{
  "_source" : false,
  "query": {
    "nested": {
      "path": "queries",
      "query": {
        "bool": {
          "must": [
            { "match": 
              { "queries.dateQuery": "20160101T200000.000Z" }
            }
          ]
        }
      },
      "inner_hits" : {}
    }
  }
}

关于Elasticsearch:仅返回嵌套的 inner_hits,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35589084/

相关文章:

python - 在 Elasticsearch 中搜索子文档

elasticsearch - 如何使用 Elasticsearch 更新进行原子增量?

elasticsearch - 修改Elasticsearch中的映射显示奇怪的行为

elasticsearch - 在elasticsearch中查找最相似的整数数组

elasticsearch - 在Elasticsearch中以查询开始(不带短语)

elasticsearch - 是否可以只从 Elasticsearch 中检索 doc id 和 score 而无需执行搜索的 fetch 阶段?

来自 JSON 格式字符串的 Elasticsearch 查询?

elasticsearch - elasticsearch jdbc river插件会跟踪对mysql中现有行的更改吗?

elasticsearch - 我的弹性平均查询错误-格式错误

java - Elasticsearch - 如何对索引中的匹配项进行分组和计数