0

我的 solr 集合有以下字段

领域:

  • 投影
  • 文件夹id
  • 文件ID
  • 文件名

我想根据projectid & folderid搜索特定文件

哪一个提供更多性能使用

1)

q:projectid:(PROJECTID) AND folderid:(FOLDERID)


2)

q:projectid:(PROJECTID)

fq:(folderid:FOLDERID)

谢谢你看这里,

4

2 回答 2

0

过滤查询对于加速复杂查询非常有用,因为使用 fq 指定的查询独立于主查询进行缓存。缓存意味着相同的过滤器再次用于以后的查询(即缓存命中)。有关缓存,请参见:http ://wiki.apache.org/solr/SolrCaching 。

本地参数 cache=false 可以添加到任何过滤器查询的顶层,并导致该过滤器不会预先生成和缓存,而是与查询和所有其他过滤器并行执行。这对于不会在其他请求中重用的过滤器(从而避免污染 filterCache)以及对索引中的每个文档进行评估非常昂贵的过滤器可能是有益的。

Example: q:projectid:123&fq={!cache=false}folderid:FOLDERID

查看此以获得更多信息:http ://wiki.apache.org/solr/CommonQueryParameters

于 2014-09-16T11:00:55.803 回答
0

在查询中使用 fq 将比使用常规 q 参数更快。

于 2014-09-15T15:17:13.953 回答