我的 solr 集合有以下字段
领域:
- 投影
- 文件夹id
- 文件ID
- 文件名
我想根据projectid & folderid搜索特定文件
哪一个提供更多性能使用
1)
q:projectid:(PROJECTID) AND folderid:(FOLDERID)
或
2)
q:projectid:(PROJECTID)
fq:(folderid:FOLDERID)
谢谢你看这里,
我的 solr 集合有以下字段
领域:
我想根据projectid & folderid搜索特定文件
哪一个提供更多性能使用
1)
q:projectid:(PROJECTID) AND folderid:(FOLDERID)
或
2)
q:projectid:(PROJECTID)
fq:(folderid:FOLDERID)
谢谢你看这里,
过滤查询对于加速复杂查询非常有用,因为使用 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
在查询中使用 fq 将比使用常规 q 参数更快。