仅对SOLR中具有特定值的特定字段应用范围过滤器

时间:2018-01-17 07:48:03

标签: solr

我将数据索引到solr中,如下所示: -

名称:苹果重量:5kg 名称:葡萄重量:2kg 名称:木瓜重量:7kg 名称:苹果重量:3kg 名称:葡萄重量:3kg

我希望我的结果以这样的方式显示,除了苹果之外我的所有结果都是常规结果,之后苹果的结果显示在最后,重量范围仅为4-8 kg。 也就是说苹果的结果也显示在特定的重量范围内。

1 个答案:

答案 0 :(得分:0)

首先,你必须将你想要的文件限制在你的标准 - 即你想要所有文件,除了苹果和4-8kg以外的文件(这假设你的体重字段是一个整数 - 如果它不是't - 使它成为一个整数字段,以便你可以进行适当的范围搜索):

q=(*:* NOT name:Apples) OR (name:Apples AND weight[4 TO 8])

然后你可以对苹果施加负面提升(你可以通过提升所有不匹配的因素来做到这一点):

bq=(*:* -name:Apples)^1000