Solr中q和fq之间的差异

时间:2014-01-08 06:32:00

标签: solr

有人请给我一个关于Solr查询中 q fq 之间差异的正确解释,涵盖一些点,例如 -

  • 他们有相同的语法吗?
  • 他们会返回相同的结果吗?
  • 何时使用哪一个?为什么?
  • 任何其他差异

2 个答案:

答案 0 :(得分:5)

q参数接受查询并对索引执行。然后,您可以使用过滤器查询(可以使用多个过滤器查询)来过滤结果。

例如,您的查询可能如下所示。

q=author:shakespeare

这将匹配“作者”字段中具有“莎士比亚”的文档。然后你可以使用像这样的过滤查询。

fq=title:hamlet
fq=type:play

这些将根据其他字段过滤结果。您甚至可以在同一个字段上进行过滤。

q和fq参数的查询语法类似

答案 1 :(得分:3)

标准solr查询在请求中使用“q”参数。过滤查询使用“fq”参数。

主要区别在于过滤后的查询不会影响相关性分数;查询纯粹作为过滤器(docset intersection,本质上)。