如果我的索引包含三个布尔字段:a,b和c ...
我想搜索:“a = True,b = False,c = True”,SOLR应该返回所有条目,它们的分数应该表示整个查询的匹配程度。
e.g。
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
可能吗?
答案 0 :(得分:3)
假设true = 1,false = 0,有几个想法:
使用客户端中相应的提升构建每个组合,例如:
(a:1 AND b:0 AND c:1) OR (a:1 OR b:1 OR c:1)^0.6 OR...
使用dist function query,例如:dist(1, a,b,c, 1,0,1)
(需要Solr 1.5+)(我没有使用过这个,你可能需要multiply这个-1)< / p>