gpt4 book ai didi

solr - {!boost ...} 乘数与 dismax 查询解析器

转载 作者:行者123 更新时间:2023-12-01 03:40:43 27 4
gpt4 key购买 nike

我如何使用 q={!boost ...}乘数与 dismax 查询解析器?

使用标准查询,您可以执行以下操作:

?q={!boost b=$multiplier}text:foo
&multiplier=...

但是,当我尝试对 dismax 执行等效操作时:
?defType=dismax
&q={!boost b=$multiplier}foo
&qf=text
&multiplier=...

我收到以下错误:

{
"error": {
"msg": "no field name specified in query and no default specified via 'df' param",
"code": 400
}
}

我猜是指定 {!boost ...}q覆盖 defType=dismax并导致 q 的剩余部分使用标准查询解析器进行解析。我如何使用 {!boost ...}与dismax?

注意:我正在运行 Solr 4.10.4。

最佳答案

根据 Solr Relevancy FAQ § How can I boost the score of newer documents ,

To boost another query parser such as a dismax query, the value of the boost query is a full sub-query and hence can use the {!queryParser} syntax. Alternately, the defType param can be used in the boost local params to set the default type to dismax. The other dismax parameters may be set as top level parameters.



这意味着为了将 dismax(或任何其他查询解析器)与 boost 查询解析器一起使用,您需要将参数构造为:
?q={!boost b=$multiplier v=$qq}
&qq={!dismax}foo
&qf=text
&multiplier=...

或者:
?q={!boost b=$multiplier defType=dismax}foo
&qf=text
&multiplier=...

关于solr - {!boost ...} 乘数与 dismax 查询解析器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31149540/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com