Apache Solr - 提升结果的替代方法

时间:2014-03-30 23:46:11

标签: php apache search solr lucene

我是Solr的新手,除了使用“qf”和“pf”参数之外,还有其他方法可以提升结果。

有人可以给我另一种方法来做到这一点。我有三个领域,并希望我的助推器基于这三个领域。

假设有一个具有布尔值(1或0)的字段,我想提升值为1的结果。有没有办法做到这一点?我们必须写一些“if”条件,我是对的吗?简单地说,有没有办法完成它?

由于

1 个答案:

答案 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_,并且不会影响匹配。