【发布时间】:2013-06-26 03:59:21
【问题描述】:
我找不到关于这些查询参数如何交互的充分解释
如果我指定,我会得到(对我来说)令人惊讶的结果
qf=title^20 description^10
然后我没有得到任何结果 但是,如果我再添加
df=description
我确实得到了结果
df 设置为 solrconfig.xml 中的文本 - 这会改变 - 但我的问题是 - df 设置是否会以某种方式覆盖 qf 设置?这看起来很奇怪
【问题讨论】:
我找不到关于这些查询参数如何交互的充分解释
如果我指定,我会得到(对我来说)令人惊讶的结果
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。默认的 Solr 请求处理程序支持 df 参数。
qf 参数是 dismax 查询解析器和 edismax 查询解析器使用的参数。您可能没有将defType=dismax 或defType=edismax 添加到请求处理程序参数或查询中。尝试添加它,您应该会得到搜索结果。
【讨论】: