2016-05-23 11 views
0

Ich habe zwei Caches mit verschiedenen Typen innerhalbInfinispan Cache-Union-Abfrage

Möchten Sie eine seitenweise Abfrage auf beiden von ihnen tun. Möchtest du also einen sort/filter -Wert übergeben und Content aus beiden Caches holen?

Gibt es einen Weg, wie man es macht, ohne die Merge und Paginierung manuell zu schreiben?

Derzeit kann ich nur so etwas tun:

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

oder

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

Antwort

1

über mehrere Caches Die Suche wird nicht unterstützt und es gibt keine konkreten Pläne, sie zu unterstützen. Weder die Abfrage DSL noch die direkte Lucene-API erlauben dies. Die Problemumgehung besteht darin, die Suchergebnisse selbst zusammenzuführen.

Der Hauptgrund dafür ist, dass jeder Cache über eigene Indizes verfügt. Eine Suche über Caches müsste also Daten aus mehreren Indizes abrufen und eine Zusammenführung durchführen, die in der aktuellen Implementierung nicht effizient ist, weshalb dies aus technischen Gründen vorerst weggelassen wurde.

Verwandte Themen