2017-03-14 10 views
0

'review'オブジェクト内のプロパティモデルにあるフィールド(propertyScore)があります。 elasticsearch sortを使用してこのフィールドを並べ替えたいと思います。ここで入れ子にされたオブジェクトの並べ替えelasticsearch 5.2、エラー:ネストされたタイプではない

は私の財産の例である:私の寝室のフィールドで

{ 
"bedrooms": 2, 
"bathrooms": 2, 
"review": { 
      "propertyScore": 20 
     }, 
} 

私は下の検索クエリを実行します。

sort: 
    [ '_score', 
    { bathrooms: { order: 'desc'} } 
] 

どのように私は私のレビューの下のスコアフィールドでソートその後でしょう。

私は現在行っている:

sort: 
     [ '_score', 
     { propertyScore: { order: 'desc', 
          nested_path: 'review'} 
     } 
     ] 

とエラーが表示さを:

[query_parsing_exception] [nested] nested object under path [review] is not of nested type 

答えて

0

私はあなたのマッピングに問題があると考えています。 "review"プロパティはネストされた型ではありません。したがって、 "review"と等しい "nested_pa​​th"でソートを使用すると、このエラーが発生します。

このマッピングを変更することも、ソートを実行する方法を変更することもできます。ちょうどこれを試してみてください:

sort: 
[ '_score', 
    { "review.propertyScore": { order: 'desc'} } 
] 
+0

素晴らしい、これは働いて、ありがとう! –

関連する問題