Sorting 对嵌套对象进行排序elasticsearch 5.2,错误:不是嵌套类型
我有一个字段(propertyScore),它位于“review”对象内的属性模型中。 我想使用elasticsearch排序在该字段上进行排序 以下是我的财产的一个例子:Sorting 对嵌套对象进行排序elasticsearch 5.2,错误:不是嵌套类型,sorting,search,elasticsearch,nested,Sorting,Search,elasticsearch,Nested,我有一个字段(propertyScore),它位于“review”对象内的属性模型中。 我想使用elasticsearch排序在该字段上进行排序 以下是我的财产的一个例子: { "bedrooms": 2, "bathrooms": 2, "review": { "propertyScore": 20 }, } 在“我的卧室”字段中,我执行以下搜索查询: sort: [ '_score', { bathrooms: { order: '
{
"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
我认为您的映射存在问题。“review”属性不是嵌套类型。因此,当使用“嵌套_路径”等于“review”的sort时,会出现此错误 您可以更改此映射,也可以更改执行排序的方式。试试这个:
sort:
[ '_score',
{ "review.propertyScore": { order: 'desc'} }
]