休止状態の検索を使用して、いくつかの列のみを選択する必要があります。以下は正常に動作するコードです
FullTextSession fts = org.hibernate.search.Search.getFullTextSession(getSession());
org.apache.lucene.search.BooleanQuery query = prepareQuery(dto);
fullTextQuery = fts.createFullTextQuery(query, ProfileBean.class);
fullTextQuery.setFirstResult(dto.getProfileBean().getResultStartIndex());
fullTextQuery.setMaxResults(dto.getProfileBean().getResultsLimit());
List<ProfileBean> profiles = fullTextQuery.list();
上記のケースでは、列「firstName」と「lastName」のみを選択したいと考えています。
次のコードは例外をスローします
List<String> projectedFields = new ArrayList<String>();
projectedFields.add("firstName");
projectedFields.add("lastName");
org.hibernate.search.SearchException: Projecting an unstored field: firstName
実際には、firstName フィールドを lucene に保存したくありません。