Hide Forgot
Title: Projection Describe the issue: org.infinispan.query.FullTextQuery query = s.createFullTextQuery( luceneQuery, Book.class ); query.setProjection( "id", "summary", "body", "mainAuthor.name" ); List results = query.list(); Object[] firstResult = (Object[]) results.get(0); Integer id = firstResult[0]; String summary = firstResult[1]; String body = firstResult[2]; String authorName = firstResult[3]; Suggestions for improvement: org.infinispan.query.dsl.QueryFactory qf = Search.getSearchManager(cache).getQueryFactory(); org.infinispan.query.dsl.Query query = qf.from(Book.class) .setProjection("id", "summary", "body", "mainAuthor.name") .orderBy("id", SortOrder.ASC) .build(); List results = query.list(); Object[] firstResult = (Object[]) results.get(0); Integer id = firstResult[0]; String summary = firstResult[1]; String body = firstResult[2]; String authorName = firstResult[3]; Additional information:
I thing I was mistaken in first case Suggestions for improvement now are SearchManager searchManager = Search.getSearchManager(cache); CacheQuery cacheQuery = searchManager.getQuery(luceneQuery, Book.class); cacheQuery.projection("id", "summary", "body", "mainAuthor.name"); List results = cacheQuery.list(); Object[] firstResult = (Object[]) results.get(0); Integer id = firstResult[0]; String summary = firstResult[1]; String body = firstResult[2]; String authorName = firstResult[3];
The fix for this bug is now generally released and available here: https://access.redhat.com/site/documentation/en-US/Red_Hat_JBoss_Data_Grid/6.2/index.html