【发布时间】:2016-05-06 14:11:21
【问题描述】:
关于 solr (fq) 上的过滤查询的一些一般性问题:
-
fq 查询是缓存所有可能的结果,还是只缓存查询返回的结果?
例如:select?q=*:*&fq=bPublic:true&rows=10
=> 使用此查询,如果我有 6000 万个公共文档,它会缓存 10 或 6000 万个 ID?
-
它是否为以下 2 个查询缓存不同的结果? (可以通过第一个问题来回答……):
- select?q=*:*&fq=bPublic:true&rows=10
- select?q=field:my_search&fq=bPublic:true&rows=10 假设这里只返回部分文档
Solr 是否将过滤器查询中的 ID 缓存在 OS 缓存或 Java 堆中?
-
fq 是在普通查询之前还是之后“执行”的(q)
例如:select?title:"something really specific"&fq=bPublic:true&rows=10
要不要先:
- 获取所有“特定”结果,然后应用过滤器
- 或者是先获取与 fq 匹配的所有文档,然后运行“q”查询
提前致谢。
韩币, 巴斯特
【问题讨论】: