Solr在使用edismax qf参数时如何处理查询字符串并在查询

时间:2015-04-27 22:27:18

标签: solr edismax

所有

[更新]

  

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

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

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

  

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

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

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

例如:

q=title:epic
defType=edismax
qf=content

有人能解释一下SOLR如何解释这个查询吗?

由于

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

q=title:epic时。这意味着您已将查询字段设置为title,因此无法将qf参数设置为“content”,在这种情况下,您无法确定查询结果。您将qf参数留空或将其设置为“title”