lucene 2.4 から 4.4 に移行しようとしています。2.4 では、ファセットに bobo-browse を使用していました。
以下のコード (Lucene の例から) を使用して、ドキュメントをクエリし、ファセットを取得しました。
List<FacetRequest> categories = new ArrayList<FacetRequest>();
categories.add(new CountFacetRequest(new CategoryPath("CATEGORY_PATH", '/'), 10));
FacetSearchParams searchParams = new FacetSearchParams(categories);
TopScoreDocCollector topScoreDocCollector = TopScoreDocCollector.create(200, true);
FacetsCollector facetsCollector = FacetsCollector.create(searchParams, indexReader, taxonomyReader);
indexSearcher.search(new MatchAllDocsQuery(), MultiCollector.wrap(topScoreDocCollector, facetsCollector));
上記のコードにより、ファセットとともに結果が得られます。
ここで、ドキュメントに並べ替えフィールドを追加したいと思います。たとえば、名前で並べ替えたいとします。以下を使用してこれを達成できます
Sort sort = new Sort(new SortField("NAME", Type.STRING));
TopFieldDocs docs = indexSearcher.search(new MatchAllDocsQuery(), 100, sort);
ここで、コレクターとソートを持つ IndexSearcher にはメソッドがないため、ファセットと一緒にソートを実現するにはどうすればよいですか。