我有一个 Solr 解决方案需要两个查询,但我正在寻找一种在单个查询中完成它的方法。我的想法是,如果我能找到一种方法来做到这一点,我就不必承担 Solr 集群上两倍负载的开销。
详细信息:我正在运行一个简单的查询,如“q=camera”,查询过滤器为“fq=type:digital”。第二个查询与第一个查询相同,但过滤器是相反的,例如“fq=-type:digital” topDocs,然后使用第二个过滤器生成第二个集合,结果可以合并并返回(排序是否采用和混合这两个集合并不重要)。
我尝试通过在索引期间标记特定字段来将数据划分为两个不同的组,然后使用 Solr“分组”查询,但这些响应时间在我的设置中是不可接受的。
我正在寻找与 Solr 最一致的实验方法的建议:调整以提高两个查询解决方案的性能,或研究一种自定义 Solr 后过滤器(我阅读了 Yonik 的 2/2012 博客文章)。
我必须在 Solr 3.5 中实现这一点,尽管如果在 4.0 中有灌篮解决方案,我最终将能够实现这一点。