将多个过滤器查询作为单独的fq参数提供与将所有约束与AND连接在一起的单个参数提供之间是否存在性能或其他差异?
例如fq=field1:foo&fq=field2:barfq=(field1:foo) AND (field2:bar)
显然,第一种方法可读性和可管理性更强,但我通过post发送长查询(次优,但这是有原因的),而且我使用的库不能很好地处理post数组参数:它们以fq[0]=...&fq[1]=...的形式出现,solr无法识别。因此,我考虑将所有内容都合并到一个fq参数中,以避免出现这种情况,并想知道这除了是一个丑陋的拐杖之外是否还有其他后果。
solr版本是4.5如果这很重要的话

最佳答案

两个查询的结果相同:
E.g. fq=field1:foo&fq=field2:bar vs. fq=(field1:foo) AND (field2:bar)
但对于性能问题,您应该更愿意将您的请求分成多个fq!:)对我来说总是更快!让我也请您use solr Filters他们很好地优化了请求速度!享受独奏吧!:)

关于http - Solr中针对多个过滤查询和一个过滤查询的性能差异,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24070233/

10-11 12:18