我目前正在实现一个Solr解决方案,用户可以选择不同的选项来搜索产品。现在,我可以将所有这些选项放在一个长查询中,也可以使用一个获取所有内容(**)并对其应用查询过滤器的查询。
常规查询:
q=color:blue AND price:500
使用过滤器查询的查询:
q=*:*&fq=color:blue&fq=price:500
结果是完全相同的。那么有什么不同呢?我应该在什么时候使用其中一个?
发布于 2011-08-26 19:17:52
过滤器查询不会影响文档的分数。此外,它们在缓存中也很有用,使用fq指定的查询独立于主查询Document for solr query parameters进行缓存
发布于 2011-08-26 19:11:00
通常在任何生产系统中,您都会使用不支持前一种语法的Dismax
请求处理程序的变体,因此在这种情况下,必须使用过滤器查询来执行过滤。
https://stackoverflow.com/questions/7203141
复制相似问题