【问题标题】:How does Solr process the query string when using edismax qf parameter and specify field in querySolr在使用edismax qf参数并在查询中指定字段时如何处理查询字符串
【发布时间】:2015-04-27 22:27:17
【问题描述】:

全部:

[更新]

阅读调试说明后,似乎qf只会扩展 没有指定字段的关键字。

================================================ =====================

当我学习使用edismax查询解析器时,它说qf参数是:

查询字段:指定索引中要执行的字段 查询。如果不存在,则默认为 df。

其目的是生成所有字段与查询词的组合。

但是,如果我们已经在查询(q 参数)中指定了字段,我想知道当我在 qf 中指定另一个不同的字段时会发生什么?

例如:

q=title:epic
defType=edismax
qf=content

谁能解释一下 SOLR 如何解释这个查询?

谢谢

【问题讨论】:

    标签: solr edismax


    【解决方案1】:

    当您指定 qf 时,这意味着您希望 solr 在这些“qf”字段中搜索“q”字段中的任何内容。因此,您的第一行和第三行相互矛盾:

    q=title:epic
    defType=edismax
    qf=content
    

    如果您要搜索内容字段包含与您的搜索词匹配的任何内容的任何文档,但这些搜索词作为“q”中的标记,由 +OR+ 分隔。

    像这样……

    q=I+OR+like+OR+books+ORand+OR+games
    defType=edismax
    qf=content
    

    【讨论】:

      【解决方案2】:

      q=title:epic。说明你已经将查询字段设置为title,所以qf参数不能设置为“content”,这种情况下,你肯定没有查询结果。您将 qf 参数留空或将其设置为“标题”

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-11-24
        • 1970-01-01
        • 2015-11-04
        • 1970-01-01
        • 2020-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多