2

如果我的索引包含三个布尔字段:a、b 和 c...
我想搜索:“a=True, b=False, c=True” 并且 SOLR 应该返回所有条目,它们的分数应该代表有多好整个查询匹配。

例如

a=T, b=F, c=T, score=1.0  
a=T, b=T, c=T, score=0.6  
a=T, b=T, c=F, score=0.5  

那可能吗 ?

4

1 回答 1

3

假设真=1,假=0,有几个想法:

  • 在客户端构建每个组合及其相应的提升,例如:

    (a:1 AND b:0 AND c:1) OR (a:1 OR b:1 OR c:1)^0.6 OR...
    
  • 使用dist 函数查询,例如:(dist(1, a,b,c, 1,0,1)需要 Solr 1.5+)(我没用过这个,你可能需要乘以-1)

于 2010-07-15T03:35:53.630 回答