Solr / Lucene:常规查询和过滤查询之间有什么区别

时间:2011-08-26 10:06:41

标签: lucene solr

我目前正在实施Solr解决方案,用户可以选择各种选项来搜索产品。我现在可以使用所有这些选项并将它们组合成一个长的查询,或者我可以使用获取所有内容的查询(*:*)并对其应用查询过滤器。

常规查询:

q=color:blue AND price:500

使用过滤查询进行查询:

q=*:*&fq=color:blue&fq=price:500

结果完全一样。那么区别是什么呢?我什么时候应该使用其中一种?

2 个答案:

答案 0 :(得分:4)

过滤查询不会影响文档的分数。 此外,它们在缓存中很有用,使用fq指定的查询独立于主查询进行缓存 Document for solr query parameters

答案 1 :(得分:0)

通常在任何生产系统中,您都会使用不支持前一种语法的Dismax请求处理程序的变体,因此在这种情况下必须使用过滤器查询执行过滤。