0

我了解什么是 queryResultWindowSize 和 queryResultMaxDocsCached。

查询 1 -> q=car&rows=10&start=0

查询 2 -> q=car&rows=10&start=10

(假设查询 1 和 2 是 user1 的连续查询)

查询 3 -> q=boat&rows=10&start=0

查询 4 ​​-> q=car&rows=10&start=10

(假设查询 3 和 4 是 user2 的连续查询)

我的 queryResultWindowSize = 20 和 queryResultMaxDocsCached = 20。当用户发出 query1 时,将缓存 20 个文档。因此,接下来的 10 个分页文档已在缓存中准备就绪。如果 user2 发出 query3 ,缓存会过期吗?还是缓存用于单个查询?solr 是否分别为 query1 和 query3 做缓存?

4

1 回答 1

0

缓存是公关的。询问。通常,它将匹配执行的查询并使用它来查找正确的缓存,然后从该缓存中返回值。这意味着 query1 和 query3 将被分别缓存(否则 Solr 将只能缓存最近的查询,这在大多数生产设置中不会很有帮助)。

于 2016-02-04T12:04:32.057 回答