Example usage for org.apache.lucene.search TopScoreDocCollector create

List of usage examples for org.apache.lucene.search TopScoreDocCollector create

Introduction

In this page you can find the example usage for org.apache.lucene.search TopScoreDocCollector create.

Prototype

public static TopScoreDocCollector create(int numHits, int totalHitsThreshold) 

Source Link

Document

Creates a new TopScoreDocCollector given the number of hits to collect and the number of hits to count accurately.

Usage

From source file:org.drools.workbench.screens.dtablexls.backend.server.indexing.IndexDecisionTableXLSAttributeNameTest.java

License:Apache License

@Test
public void testIndexDecisionTableXLSAttributeName() throws IOException, InterruptedException {
    //Add test files
    final Path path1 = loadXLSFile(basePath, "dtable1.xls");
    final Path path2 = loadXLSFile(basePath, "dtable2.xls");

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {//from   w w w.j  av  a 2  s .co  m
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueRuleAttributeIndexTerm("ruleflow-group"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;

        assertEquals(1, hits.length);
        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);

        ((LuceneIndex) index).nrtRelease(searcher);

    }
}

From source file:org.drools.workbench.screens.dtablexls.backend.server.indexing.IndexDecisionTableXLSMultipleTypesTest.java

License:Apache License

@Test
public void testIndexDecisionTableXLSMultipleTypes() throws IOException, InterruptedException {
    //Add test files
    final Path path1 = loadXLSFile(basePath, "dtable1.xls");
    final Path path2 = loadXLSFile(basePath, "dtable2.xls");

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {// w  w  w  . ja v a2 s.  co m
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.dtablexls.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(2, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);

    }

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.dtablexls.backend.server.indexing.classes.Mortgage"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);

    }
}

From source file:org.drools.workbench.screens.enums.backend.server.indexing.IndexEnumEntriesTest.java

License:Apache License

@Test
public void testIndexEnumEntries() throws IOException, InterruptedException {
    //Add test files
    final Path path1 = basePath.resolve("enum1.enumeration");
    final String dsl1 = loadText("enum1.enumeration");
    ioService().write(path1, dsl1);//w  w w  .  ja  v  a 2  s  .  co m
    final Path path2 = basePath.resolve("enum2.enumeration");
    final String dsl2 = loadText("enum2.enumeration");
    ioService().write(path2, dsl2);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    //Enumerations using org.drools.workbench.screens.enums.backend.server.indexing.classes.Applicant
    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.enums.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(2, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    //Enumerations using org.drools.workbench.screens.enums.backend.server.indexing.classes.Mortgage
    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueTypeIndexTerm(
                "org.drools.workbench.screens.enums.backend.server.indexing.classes.Mortgage")).build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    //Enumerations using org.drools.workbench.screens.enums.backend.server.indexing.classes.Mortgage#amount
    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.enums.backend.server.indexing.classes.Mortgage"))
                .addTerm(new ValueFieldIndexTerm("amount")).build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    //Enumerations using java.lang.Integer
    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueTypeIndexTerm("java.lang.Integer")).build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(2, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

}

From source file:org.drools.workbench.screens.globals.backend.server.util.indexing.IndexGlobalsTest.java

License:Apache License

@Test
public void testIndexGlobals() throws IOException, InterruptedException {
    //Add test files
    final Path path1 = basePath.resolve("global1.gdrl");
    final String drl1 = loadText("global1.gdrl");
    ioService().write(path1, drl1);//from w w w.  j  a v a2 s. co m
    final Path path2 = basePath.resolve("global2.gdrl");
    final String drl2 = loadText("global2.gdrl");
    ioService().write(path2, drl2);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueTypeIndexTerm("java.util.ArrayList")).build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(2, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);
    }
}

From source file:org.drools.workbench.screens.guided.dtable.backend.server.indexing.IndexGuidedDecisionTableActionsTest.java

License:Apache License

@Test
public void testIndexGuidedDecisionTableActions() throws IOException, InterruptedException {
    //Add test files
    final Path path = basePath.resolve("dtable1.gdst");
    final GuidedDecisionTable52 model = GuidedDecisionTableFactory.makeTableWithActionCol(
            "org.drools.workbench.screens.guided.dtable.backend.server.indexing", new ArrayList<Import>() {
                {//from ww w .  j  a va 2s .c o m
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"));
                }
            }, "dtable1");
    final String xml = GuidedDTXMLPersistence.getInstance().marshal(model);
    ioService().write(path, xml);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

}

From source file:org.drools.workbench.screens.guided.dtable.backend.server.indexing.IndexGuidedDecisionTableAttributesTest.java

License:Apache License

@Test
public void testIndexGuidedDecisionTableAttributes() throws IOException, InterruptedException {
    //Add test files
    final Path path = basePath.resolve("dtable1.gdst");
    final GuidedDecisionTable52 model = GuidedDecisionTableFactory.makeTableWithAttributeCol(
            "org.drools.workbench.screens.guided.dtable.backend.server.indexing", new ArrayList<Import>() {
                {//from ww  w.  ja  v a  2  s . c  o  m
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"));
                }
            }, "dtable1");
    final String xml = GuidedDTXMLPersistence.getInstance().marshal(model);
    ioService().write(path, xml);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueRuleAttributeIndexTerm("ruleflow-group"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    //Decision Table defining a RuleFlow-Group named myRuleFlowGroup. This should match dtable1.gdst
    //This checks whether there is a Rule Attribute "ruleflow-group" and its Value is "myRuleflowGroup"
    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder().addTerm(new ValueRuleAttributeIndexTerm("ruleflow-group"))
                .addTerm(new ValueRuleAttributeValueIndexTerm("myRuleFlowGroup")).build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }
}

From source file:org.drools.workbench.screens.guided.dtable.backend.server.indexing.IndexGuidedDecisionTableBRLFragmentActionsTest.java

License:Apache License

@Test
public void testIndexGuidedDecisionTableBRLFragmentActions() throws IOException, InterruptedException {
    //Add test files
    final Path path = basePath.resolve("dtable1.gdst");
    final GuidedDecisionTable52 model = GuidedDecisionTableFactory.makeTableWithBRLFragmentActionCol(
            "org.drools.workbench.screens.guided.dtable.backend.server.indexing", new ArrayList<Import>() {
                {/*from w  w  w . java2  s.  co m*/
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"));
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"));
                }
            }, "dtable1");
    final String xml = GuidedDTXMLPersistence.getInstance().marshal(model);
    ioService().write(path, xml);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

}

From source file:org.drools.workbench.screens.guided.dtable.backend.server.indexing.IndexGuidedDecisionTableBRLFragmentConditionsTest.java

License:Apache License

@Test
public void testIndexGuidedDecisionTableBRLFragmentConditions() throws IOException, InterruptedException {
    //Add test files
    final Path path = basePath.resolve("dtable1.gdst");
    final GuidedDecisionTable52 model = GuidedDecisionTableFactory.makeTableWithBRLFragmentConditionCol(
            "org.drools.workbench.screens.guided.dtable.backend.server.indexing", new ArrayList<Import>() {
                {//from w w w  .java2  s.  c  o  m
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"));
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"));
                }
            }, "dtable1");
    final String xml = GuidedDTXMLPersistence.getInstance().marshal(model);
    ioService().write(path, xml);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

}

From source file:org.drools.workbench.screens.guided.dtable.backend.server.indexing.IndexGuidedDecisionTableConditionsTest.java

License:Apache License

@Test
public void testIndexGuidedDecisionTableConditions() throws IOException, InterruptedException {
    //Add test files
    final Path path = basePath.resolve("dtable1.gdst");
    final GuidedDecisionTable52 model = GuidedDecisionTableFactory.makeTableWithConditionCol(
            "org.drools.workbench.screens.guided.dtable.backend.server.indexing", new ArrayList<Import>() {
                {//  w w  w .  j a v  a  2 s .c  o m
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"));
                    add(new Import(
                            "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"));
                }
            }, "dtable1");
    final String xml = GuidedDTXMLPersistence.getInstance().marshal(model);
    ioService().write(path, xml);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtable.backend.server.indexing.classes.Mortgage"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path);

        ((LuceneIndex) index).nrtRelease(searcher);
    }

}

From source file:org.drools.workbench.screens.guided.dtree.backend.server.indexing.IndexRuleMultipleTypesTest.java

License:Apache License

@Test
public void testIndexDrlRuleMultipleTypes() throws IOException, InterruptedException {
    //Add test files
    final Path path1 = basePath.resolve("drl3.tdrl");
    final String drl1 = loadText("drl3.tdrl");
    ioService().write(path1, drl1);//from  ww w  .  ja  v a  2s  .  c o  m
    final Path path2 = basePath.resolve("drl4.tdrl");
    final String drl2 = loadText("drl4.tdrl");
    ioService().write(path2, drl2);

    Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index

    final Index index = getConfig().getIndexManager()
            .get(org.uberfire.ext.metadata.io.KObjectUtil.toKCluster(basePath.getFileSystem()));

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtree.backend.server.indexing.classes.Applicant"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(2, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path1);
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);

    }

    {
        final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher();
        final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true);
        final Query query = new QueryBuilder()
                .addTerm(new ValueTypeIndexTerm(
                        "org.drools.workbench.screens.guided.dtree.backend.server.indexing.classes.Mortgage"))
                .build();

        searcher.search(query, collector);
        final ScoreDoc[] hits = collector.topDocs().scoreDocs;
        assertEquals(1, hits.length);

        final List<KObject> results = new ArrayList<KObject>();
        for (int i = 0; i < hits.length; i++) {
            results.add(KObjectUtil.toKObject(searcher.doc(hits[i].doc)));
        }
        assertContains(results, path2);

        ((LuceneIndex) index).nrtRelease(searcher);

    }

}