我目前正在实现 Solr 解决方案,用户可以在其中选择各种选项来搜索产品。我现在可以采用所有这些选项并将它们放在一个长查询中,或者我可以使用一个查询来获取所有内容 (*:*) 并对其应用查询过滤器。
常规查询:
q=color:blue AND price:500
使用过滤器查询进行查询:
q=*:*&fq=color:blue&fq=price:500
结果完全一样。那么区别是什么呢?我什么时候应该使用其中一种?
最佳答案
过滤器查询不影响文档的分数。
此外,它们在缓存中很有用,用 fq 指定的查询是独立于主查询缓存的
Document for solr query parameters
关于lucene - Solr/Lucene : What is the difference between regular queries and filter queries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7203141/