我是Solr的新手,除了使用“qf”和“pf”参数之外,还有其他方法可以提升结果。
有人可以给我另一种方法来做到这一点。我有三个领域,并希望我的助推器基于这三个领域。
假设有一个具有布尔值(1或0)的字段,我想提升值为1的结果。有没有办法做到这一点?我们必须写一些“if”条件,我是对的吗?简单地说,有没有办法完成它?
由于
答案 0 :(得分:1)
如果您正在使用edismax或dismax查询解析器(最可能的情况) - 您可以使用bq(提升查询)或bf(提升功能)
所以对于你的例子,我会像这样添加一个提升查询
bq=Myfield:1^2.0
http://wiki.apache.org/solr/DisMaxQParserPlugin#bq_.28Boost_Query.29
如果您使用的是标准查询解析器,则可以使用BoostQParserPlugin
,然后按以下方式键入您的查询:q={!boost b=xxx}query
您还可以使用影响提升分数的solr magic参数_val_
,并且不会影响匹配。