@Test public void test() throws IOException, ParseException { final BaseLuceneSetup config = getLuceneSetup(); final Document doc = new Document(); final String id = "unique.id.here"; doc.add( new StringField( "id", id, Field.Store.YES ) ); doc.add( new StringField( "type", "kie.Path", Field.Store.YES ) ); doc.add( new TextField( "content", "some value here that i will query for 1900.", Field.Store.YES ) ); config.indexDocument( id, doc ); assertNotNull( config.nrtSearcher().doc( 0 ) ); config.deleteIfExists( id ); try { config.nrtSearcher().doc( 0 ); fail( "can't find doc" ); } catch ( IllegalArgumentException e ) { } config.indexDocument( id, doc ); assertNotNull( config.nrtSearcher().doc( 0 ) ); final IndexSearcher searcher = config.nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create( 10, true ); searcher.search( new TermQuery( new Term( "content", "value" ) ), collector ); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals( 1, hits.length ); final TopScoreDocCollector collector2 = TopScoreDocCollector.create( 10, true ); Query q = new QueryParser( LUCENE_40, "content", config.getAnalyzer() ).parse( "some" ); searcher.search( q, collector2 ); final ScoreDoc[] hits2 = collector2.topDocs().scoreDocs; assertEquals( 1, hits2.length ); }