不确定我是否能做到这一点
我在索引中有以下文档
{
"name": "nissan",
"type": "product",
"features":["build_100",
"stability_80"]
}
{
"name": "toyota",
"type": "product",
"features":["stability_100",
"design_30"]
}
{
"name": "Audi",
"type": "product",
"features":["build_70",
"design_100"]
}
为了在功能字段“设计”中搜索构建,我从回忆中得到了文档2和3,我的问题是我可以根据“_”之后的数字对文档进行排序/排序,以便在以上情况我先得到doc3,然后是doc 2?
如果可以通过更改文档结构来实现,那么对我来说也没问题。
将它们作为独立字段索引,并确保在它们上启用docValues(默认情况下在最新版本的Solr上启用)。
<dynamicField name="features_*" type="int" indexed="true" stored="true"/>
然后,您将每个功能索引为单独的字段:
"feature_design": 100,
"feature_build": 70,
等等。然后按字段排序可以在任何其他字段(sort=feature_design
)上进行排序。