我找不到关于这些查询参数如何交互的充分解释
如果我指定,我会得到令人惊讶的(对我而言)结果
qf=title^20 description^10
那么我没有得到任何结果但是如果我再添加
df=description
我确实得到了结果
df 设置为 solrconfig.xml 中的文本 - 这会改变 - 但我的问题是 - df 设置是否会以某种方式覆盖 qf 设置?这看起来很奇怪
df
qf
是默认字段,只有在未定义 时才会生效。
我猜你没有使用 dismax 解析器并使用默认设置solrconfig.xml
qf
那么无论如何都不会生效,并且不会返回值的df
字段。text
df=description
搜索字段并因此返回值。defType=edismax
尝试作为参数传递。
df
代表default field
,而qf
代表query fields
。
df
当查询中未提及任何字段时,使用参数定义的字段。例如,如果您正在运行类似的查询,q=solr
并且您df=title
的查询本身实际上将是title:solr
. df
默认 Solr 请求处理程序支持该参数。
qf
参数是dismax
查询解析器和查询解析器使用的东西edismax
。您可能没有将defType=dismax
ordefType=edismax
添加到您的请求处理程序参数或查询中。尝试添加它,您应该会得到搜索结果。