在提供多个过滤查询作为单独的fq
参数与提供与AND
加入的所有约束的单个过滤查询之间是否存在任何性能或其他差异?
E.g。 fq=field1:foo&fq=field2:bar
与fq=(field1:foo) AND (field2:bar)
显然第一种方法更具可读性和可管理性,但我通过POST发送长查询(次优,但有理由),我使用的库不能很好地处理POST数组参数:它们来了出自fq[0]=...&fq[1]=...
,而Solr无法识别。因此,我考虑将所有内容加入到单个fq
参数中以避免这种情况,并想知道除了是一个丑陋的拐杖之外还有其他任何后果。
如果重要,Solr版本是4.5
答案 0 :(得分:1)
对于2个查询,您将获得相同的结果:
E.g. fq=field1:foo&fq=field2:bar vs. fq=(field1:foo) AND (field2:bar)
但是对于性能问题,您应该更喜欢将您的请求拆分为多个fq! :)对我来说一直都比较快!我还要问你use solr Filters他们很高兴优化请求速度!享受solr! :)