不确定我是否可以实现
索引中有以下文件
{
"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?
如果可以通过更改文档结构来实现,那么我也可以。
答案 0 :(得分:1)
将它们索引为独立字段,并确保对它们启用docValues(在最新版本的Solr中默认启用)。
<dynamicField name="features_*" type="int" indexed="true" stored="true"/>
然后将每个功能作为单独的字段编制索引:
"feature_design": 100,
"feature_build": 70,
,依此类推。然后,可以按照对其他任何字段(sort=feature_design
)进行排序的方式来进行按字段的排序。