2016-09-21 4 views
0

>ここは初心者です。ヒットを無効にして、インナーヒットを排他的に使用する

私は自分のプロフィール写真のアプリケーションのアーキテクチャを作りました。このアプリケーションでは、メンバーはメンバーの属性と写真の属性でメンバーを検索できます。返されたのはクエリに一致した写真だけです。

問題は、1人のユーザーが何千もの写真を持っている可能性があり、検索結果が返されるたびに、そのオブジェクトの完全なオブジェクト(ネストされた写真付き)です。

elasticsearchでinner_hitsの値のみを返すようにするにはどうすればよいですか?

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

答えて

0

重複の:ここで

は私のクエリです Elasticsearch: Return only nested inner_hits

を引用: 「_source」を指定することで、トップレベルのソース・フィールドを無効にすることでそれを達成することができるようになります。偽

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