Solr - fq基础

时间:2016-05-04 09:53:53

标签: caching solr

关于solr(fq)上的过滤器查询的一些常见问题:

  1. fq查询是否缓存所有可能的结果,或只缓存查询返回的结果?

    例如:select?q = *:*& fq = bPublic:true& rows = 10

    =>有了这个查询,如果我有6千万个公共文档,它会缓存10或6千万个ID吗?

  2. 是否会为以下2个查询缓存不同的结果? (可能会被第一个问题回复......):

    • 选择Q = *:*&安培; FQ = bPublic:真安培;行= 10
    • select?q = field:my_search& fq = bPublic:true& rows = 10< => 假设此处仅返回部分文档
  3. Solr是否在OS缓存或java堆中缓存过滤查询的ID?

  4. fq是在通常查询(q)之前或之后“执行”

    例如:select?title:“某些特定的东西”& fq = bPublic:true& rows = 10

    首先是:

    • 获取所有“特定”结果,然后应用过滤器
    • OR首先获取与fq匹配的所有文档,然后运行“q”查询
  5. 提前致谢。

    KR, 韧皮

1 个答案:

答案 0 :(得分:0)

我从solr邮件列表中得到了一些答案:

  1. &安培; 2.它存储核心中的每个文档,如果它与查询匹配,则存储位(1或0)。

  2. http://yonik.com/advanced-filter-caching-in-solr/ ==> fq查询在主q查询之前执行。