【问题标题】:Solr boost query with bq parmeter使用 bq 参数进行 Solr 提升查询
【发布时间】:2015-02-28 14:01:24
【问题描述】:

以下查询有什么区别吗?

查询 1:

bq=field1:x^2+field2:y^4

查询 2:

bq=field1:x^2&bq=field2:y^4 

如果有的话,我怎样才能只使用 'bq' 参数复制查询 2 一次?

【问题讨论】:

    标签: django solr lucene full-text-search django-haystack


    【解决方案1】:

    这些都不是bq 参数。 BQ 代表 Boost Queries,并不是只提供字段名称,而是提供自己的查询(例如field1:value^2)。

    如果您想对字段加权,请改用 qf 及其固有权重。

    话虽如此,就我所见,bq 参数是相加的,所以你应该得到相同的结果。查看 debugQuery 以了解如何解析生成的查询,看看有什么区别。

    【讨论】:

    • 很抱歉。我已经编辑了这个问题。但是当我将这两个语句触发到 solr 中时,我得到了不同的结果。这就是为什么我想知道,如何模仿第二个语句。
    • 请检查 debugQuery 的输出以查看差异:根据社区 wiki 可能是 If you want your query to be parsed as separate clauses with separate boosts, use multiple bq parameters.
    • 感谢您的帮助。我设法通过将 bq 作为 haystack 中的列表传递来模仿第二条语句。令我惊讶的是,solr 将参数列表视为多个 bq 参数。(我还对 haystack 的 solr 后端进行了一些更改以接受原始参数。)
    猜你喜欢
    • 2011-11-28
    • 2014-04-18
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 2012-05-18
    • 2014-04-25
    • 2011-06-23
    • 1970-01-01
    相关资源
    最近更新 更多