Directory[][] dirs = getDirs();
// create and open an index writer
RandomIndexWriter iw = new RandomIndexWriter(random, dirs[0][0], newIndexWriterConfig(
TEST_VERSION_CURRENT, new MockAnalyzer(random, MockTokenizer.WHITESPACE, false)));
// create and open a taxonomy writer
TaxonomyWriter tw = new LuceneTaxonomyWriter(dirs[0][1],
OpenMode.CREATE);
PerDimensionIndexingParams iParams = new PerDimensionIndexingParams();
iParams.addCategoryListParams(new CategoryPath("Band"),
new CategoryListParams(new Term("$music", "music")));
iParams.addCategoryListParams(new CategoryPath("Composer"),
new CategoryListParams(new Term("$music", "music")));
iParams.addCategoryListParams(new CategoryPath("Author"),
new CategoryListParams(new Term("$literature", "Authors")));
seedIndex(iw, tw, iParams);
IndexReader ir = iw.getReader();
tw.commit();
// prepare index reader and taxonomy.
TaxonomyReader tr = new LuceneTaxonomyReader(dirs[0][1]);
// prepare searcher to search against
IndexSearcher searcher = newSearcher(ir);
FacetsCollector facetsCollector = performSearch(iParams, tr, ir,
searcher);
// Obtain facets results and hand-test them
assertCorrectResults(facetsCollector);
assertPostingListExists("$music", "music", ir);
assertPostingListExists("$literature", "Authors", ir);
tr.close();
ir.close();
searcher.close();
iw.close();
tw.close();
IOUtils.close(dirs[0]);
}