11.3.3. リモートクエリーの例
protobuf と通信できるようにクライアントとサーバーの両方を設定し、インデックスを有効にしている。キャッシュにデータを追加して、検索してみてください。
import org.infinispan.client.hotrod.*;
import org.infinispan.query.dsl.*;
...
RemoteCacheManager remoteCacheManager = ...;
RemoteCache<Integer, Book> remoteCache = remoteCacheManager.getCache();
Book book1 = new Book();
book1.setTitle("Hibernate in Action");
remoteCache.put(1, book1);
Book book2 = new Book();
book2.setTile("Hibernate Search in Action");
remoteCache.put(2, book2);
QueryFactory qf = Search.getQueryFactory(remoteCache);
Query query = qf.from(Book.class)
.having("title").like("%Hibernate Search%")
.build();
List<Book> list = query.list(); // Voila! We have our book back from the cache!
クエリーを作成する主な部分は、org.infinispan.client.hotrod.Search.get QueryFactory ()メソッドを使用してリモートキャッシュの QueryFactory を取得します。このクエリーの作成後は、この セクションで説明する埋め込みモードと似ています。