sf.close();
}
@Test
public void testAddingClassSimpleAPI() throws Exception {
SearchFactoryIntegrator sf = new SearchFactoryBuilder().configuration( new SearchConfigurationForTest() ).buildSearchFactory();
sf.addClasses( A.class );
TransactionContextForTest tc = new TransactionContextForTest();
doIndexWork( new A( 1, "Emmanuel" ), 1, sf, tc );
tc.end();
QueryParser parser = new QueryParser(
TestConstants.getTargetLuceneVersion(),
"name",
TestConstants.standardAnalyzer
);
Query luceneQuery = parser.parse( "Emmanuel" );
IndexReader indexReader = sf.getIndexReaderAccessor().open( A.class );
IndexSearcher searcher = new IndexSearcher( indexReader );
TopDocs hits = searcher.search( luceneQuery, 1000 );
assertEquals( 1, hits.totalHits );
sf.getIndexReaderAccessor().close( indexReader );
sf.addClasses( B.class, C.class );
tc = new TransactionContextForTest();
doIndexWork( new B( 1, "Noel" ), 1, sf, tc );
doIndexWork( new C( 1, "Vincent" ), 1, sf, tc );
tc.end();
luceneQuery = parser.parse( "Noel" );
indexReader = sf.getIndexReaderAccessor().open( B.class );
searcher = new IndexSearcher( indexReader );
hits = searcher.search( luceneQuery, 1000 );
assertEquals( 1, hits.totalHits );
sf.getIndexReaderAccessor().close( indexReader );
luceneQuery = parser.parse( "Vincent" );
indexReader = sf.getIndexReaderAccessor().open( C.class );
searcher = new IndexSearcher( indexReader );
hits = searcher.search( luceneQuery, 1000 );
assertEquals( 1, hits.totalHits );
sf.getIndexReaderAccessor().close( indexReader );
sf.close();
}