1

休止状態の検索を使用して、いくつかの列のみを選択する必要があります。以下は正常に動作するコードです

  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 に保存したくありません。

4

1 に答える 1