【问题标题】:Solr - fq basesSolr - fq 基础
【发布时间】:2016-05-06 14:11:21
【问题描述】:

关于 solr (fq) 上的过滤查询的一些一般性问题:

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

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

    => 使用此查询,如果我有 6000 万个公共文档,它会缓存 10 或 6000 万个 ID?

  2. 它是否为以下 2 个查询缓存不同的结果? (可以通过第一个问题来回答……):

    • select?q=*:*&fq=bPublic:true&rows=10
    • select?q=field:my_search&fq=bPublic:true&rows=10 假设这里只返回部分文档
  3. Solr 是否将过滤器查询中的 ID 缓存在 OS 缓存或 Java 堆中?

  4. fq 是在普通查询之前还是之后“执行”的(q)

    例如:select?title:"something really specific"&fq=bPublic:true&rows=10

    要不要先:

    • 获取所有“特定”结果,然后应用过滤器
    • 或者是先获取与 fq 匹配的所有文档,然后运行“q”查询

提前致谢。

韩币, 巴斯特

【问题讨论】:

    标签: caching solr


    【解决方案1】:

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

    1. & 2. 它将每个文档存储在核心中,如果匹配查询,则存储一个位(1 或 0)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 1970-01-01
      • 2015-03-10
      相关资源
      最近更新 更多