Infinispan缓存联合查询

Infinispan cache union query

我里面有两个不同类型的缓存

想对它们进行分页查询。那么想传入一个 sort/filter 值并从两个缓存中获取内容吗?

有没有不用手动编写合并和分页的方法?

目前我只能做这样的事情:

val queryFactory = Search.getQueryFactory(cache)    
queryFactory.from(Class.getClass)

val searchManager = Search.getSearchManager(cache)
searchManager.buildQueryBuilderForClass(Class.getClass).get()

不支持跨多个缓存搜索,也没有支持它的具体计划。查询 DSL 和直接 Lucene API 都不允许这样做。解决方法是自己合并搜索结果。

主要原因是每个缓存都有自己独立的索引集。因此,跨缓存的搜索必须从多个索引中检索数据并执行合并,这在当前实现中效率不高,因此由于技术原因暂时忽略了这一点。