14

我找不到关于这些查询参数如何交互的充分解释

如果我指定,我会得到令人惊讶的(对我而言)结果

qf=title^20 description^10

那么我没有得到任何结果但是如果我再添加

df=description

我确实得到了结果

df 设置为 solrconfig.xml 中的文本 - 这会改变 - 但我的问题是 - df 设置是否会以某种方式覆盖 qf 设置?这看起来很奇怪

4

2 回答 2

17

dfqf是默认字段,只有在未定义 时才会生效。

我猜你没有使用 dismax 解析器并使用默认设置solrconfig.xml

qf那么无论如何都不会生效,并且不会返回值的df字段。text

df=description搜索字段并因此返回值。defType=edismax尝试作为参数传递。

于 2013-06-28T11:42:20.463 回答
2

df代表default field,而qf代表query fields

df当查询中未提及任何字段时,使用参数定义的字段。例如,如果您正在运行类似的查询,q=solr并且您df=title的查询本身实际上将是title:solr. df默认 Solr 请求处理程序支持该参数。

qf参数是dismax查询解析器和查询解析器使用的东西edismax。您可能没有将defType=dismaxordefType=edismax添加到您的请求处理程序参数或查询中。尝试添加它,您应该会得到搜索结果。

于 2020-03-25T18:23:51.513 回答