禁用匹配并仅使用inner_hits

时间:2016-09-21 18:01:25

标签: elasticsearch

>初学者。

我为我的个人资料制作了一个架构 - 照片的应用程序。在此应用程序中,用户可以按成员的属性和照片属性搜索成员。返回的只是与查询匹配的照片。

问题是,一个用户可能拥有数千张照片,并且每次运行搜索时都会返回点击:个人资料的完整对象(带有嵌套照片)。< / p>

我如何让elasticsearch只返回inner_hits的值?

这是我的问题:

{
  "query": {
    "bool": {
      "must": [
        {
          "nested": {
            "path": "photo", 
            "query": {
              "bool": {
                "must": [ 
                  {
                    "match": {
                      "photo.make": "BMW"
                    }
                  },
                  {
                    "match": {
                      "photo.model": "111"
                    }
                  }
                ]
              }
            },
            "inner_hits" : {"size": 1}
          }
        }
      ]
}}}

1 个答案:

答案 0 :(得分:0)

重复:Elasticsearch: Return only nested inner_hits

<强>引用: 应该能够通过指定&#34; _source&#34;来禁用顶层的源字段来实现它。 :false

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