List of usage examples for org.apache.lucene.search TopScoreDocCollector create
public static TopScoreDocCollector create(int numHits, int totalHitsThreshold)
From source file:org.drools.workbench.screens.guided.dtree.backend.server.indexing.IndexRuleTest.java
License:Apache License
@Test public void testIndexDrlRules() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("drl1.tdrl"); final String drl = loadText("drl1.tdrl"); ioService().write(path, drl);// w w w .ja v a 2 s . com Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index final Index index = getConfig().getIndexManager().get(KObjectUtil.toKCluster(basePath.getFileSystem())); { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final Query query = new QueryBuilder().addTerm(new ValueRuleIndexTerm("myRule")).build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(1, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.dtree.backend.server.indexing.IndexRuleTypeTest.java
License:Apache License
@Test public void testIndexRuleTypes() throws IOException, InterruptedException { //Add test files final Path path1 = basePath.resolve("drl1.tdrl"); final String drl1 = loadText("drl1.tdrl"); ioService().write(path1, drl1);// w ww. j a v a 2 s . c om final Path path2 = basePath.resolve("drl2.tdrl"); final String drl2 = loadText("drl2.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(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); ((LuceneIndex) index).nrtRelease(searcher); } { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final Query query = new QueryBuilder().useWildcards().addTerm(new ValueTypeIndexTerm("*.Applicant")) .build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(2, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.rule.backend.server.indexing.IndexRuleAttributeNameAndValueCompositionTest.java
License:Apache License
@Test public void testIndexDrlRuleAttributeNameAndValues() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("drl1.rdrl"); final String drl = loadText("drl1.rdrl"); ioService().write(path, drl);//from w ww. jav a 2s.c o m 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())); //DRL defining a RuleFlow-Group named myRuleFlowGroup. This should match drl5.drl //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); } //DRL defining a RuleFlow-Group named myAgendaGroup. This should *NOT* match drl5.drl { 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("myAgendaGroup")).build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(0, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.rule.backend.server.indexing.IndexRuleAttributeNameAndValueTest.java
License:Apache License
@Test public void testIndexDrlRuleAttributeNameAndValues() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("drl1.rdrl"); final String drl = loadText("drl1.rdrl"); ioService().write(path, drl);/*from ww w . j a v a 2 s . c o m*/ Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index final Index index = getConfig().getIndexManager().get(KObjectUtil.toKCluster(basePath.getFileSystem())); { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final BooleanQuery query = new BooleanQuery(); query.add(new TermQuery(new Term(RuleAttributeIndexTerm.TERM, "ruleflow-group")), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(RuleAttributeValueIndexTerm.TERM, "nonexistent")), BooleanClause.Occur.MUST); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(0, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } //This simply checks whether there is a Rule Attribute "ruleflow-group" and a Rule Attribute Value "myRuleflowGroup" //The specific query does not check that the Rule Attribute Value corresponds to the Rule Attribute, so it is possible //that the value relates to a different Rule Attribute. { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final BooleanQuery query = new BooleanQuery(); query.add(new TermQuery(new Term(RuleAttributeIndexTerm.TERM, "ruleflow-group")), BooleanClause.Occur.MUST); query.add(new TermQuery(new Term(RuleAttributeValueIndexTerm.TERM, "myruleflowgroup")), BooleanClause.Occur.MUST); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(1, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.rule.backend.server.indexing.IndexRuleAttributeNameTest.java
License:Apache License
@Test public void testIndexDrlRuleAttributeNames() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("drl1.rdrl"); final String drl = loadText("drl1.rdrl"); ioService().write(path, drl);/*w ww . j a v a2s .c om*/ Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index final Index index = getConfig().getIndexManager().get(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); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.rule.backend.server.indexing.IndexRuleMultipleTypesTest.java
License:Apache License
@Test public void testIndexDrlRuleMultipleTypes() throws IOException, InterruptedException { //Add test files final Path path1 = basePath.resolve("drl3.rdrl"); final String drl1 = loadText("drl3.rdrl"); ioService().write(path1, drl1);//from w w w . ja v a 2 s . c o m final Path path2 = basePath.resolve("drl4.rdrl"); final String drl2 = loadText("drl4.rdrl"); 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.rule.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.rule.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.guided.rule.backend.server.indexing.IndexRuleTest.java
License:Apache License
@Test public void testIndexDrlRules() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("drl1.rdrl"); final String drl = loadText("drl1.rdrl"); ioService().write(path, drl);// ww w .j ava2 s . c om Thread.sleep(5000); //wait for events to be consumed from jgit -> (notify changes -> watcher -> index) -> lucene index final Index index = getConfig().getIndexManager().get(KObjectUtil.toKCluster(basePath.getFileSystem())); { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final Query query = new QueryBuilder().addTerm(new ValueRuleIndexTerm("myRule")).build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(1, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.rule.backend.server.indexing.IndexRuleTypeTest.java
License:Apache License
@Test public void testIndexRuleTypes() throws IOException, InterruptedException { //Add test files final Path path1 = basePath.resolve("drl1.rdrl"); final String drl1 = loadText("drl1.rdrl"); ioService().write(path1, drl1);/*from w w w. j av a2 s.c om*/ final Path path2 = basePath.resolve("drl2.rdrl"); final String drl2 = loadText("drl2.rdrl"); 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(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.rule.backend.server.indexing.classes.Applicant")) .build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(2, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } { final IndexSearcher searcher = ((LuceneIndex) index).nrtSearcher(); final TopScoreDocCollector collector = TopScoreDocCollector.create(10, true); final Query query = new QueryBuilder().useWildcards().addTerm(new ValueTypeIndexTerm("*.Applicant")) .build(); searcher.search(query, collector); final ScoreDoc[] hits = collector.topDocs().scoreDocs; assertEquals(2, hits.length); ((LuceneIndex) index).nrtRelease(searcher); } }
From source file:org.drools.workbench.screens.guided.scorecard.backend.server.indexing.IndexGuidedScoreCardTest.java
License:Apache License
@Test public void testIndexGuidedScoreCard() throws IOException, InterruptedException { //Add test files final Path path1 = basePath.resolve("scorecard1.scgd"); final ScoreCardModel model1 = GuidedScoreCardFactory.makeScoreCardWithCharacteristics( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing", new ArrayList<Import>() { {//from ww w. j a v a 2s .c o m add(new Import( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing.classes.Applicant")); add(new Import( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing.classes.Mortgage")); } }, "scorecard1"); final String xml1 = GuidedScoreCardXMLPersistence.getInstance().marshal(model1); ioService().write(path1, xml1); final Path path2 = basePath.resolve("scorecard2.scgd"); final ScoreCardModel model2 = GuidedScoreCardFactory.makeScoreCardWithoutCharacteristics( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing", new ArrayList<Import>() { { add(new Import( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing.classes.Applicant")); add(new Import( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing.classes.Mortgage")); } }, "scorecard2"); final String xml2 = GuidedScoreCardXMLPersistence.getInstance().marshal(model2); ioService().write(path2, xml2); final Path path3 = basePath.resolve("scorecard3.scgd"); final ScoreCardModel model3 = GuidedScoreCardFactory.makeEmptyScoreCard( "org.drools.workbench.screens.guided.scorecard.backend.server.indexing", "scorecard3"); final String xml3 = GuidedScoreCardXMLPersistence.getInstance().marshal(model3); ioService().write(path3, xml3); 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())); //Score Cards using org.drools.workbench.screens.guided.scorecard.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.guided.scorecard.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); } //Score Cards using org.drools.workbench.screens.guided.scorecard.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.guided.scorecard.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, path1); ((LuceneIndex) index).nrtRelease(searcher); } //Score Cards using org.drools.workbench.screens.guided.scorecard.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.guided.scorecard.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, path1); ((LuceneIndex) index).nrtRelease(searcher); } //Score Cards 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.guided.template.server.indexing.IndexGuidedRuleTemplateActionsTest.java
License:Apache License
@Test public void testIndexGuidedRuleTemplateActions() throws IOException, InterruptedException { //Add test files final Path path = basePath.resolve("template1.template"); final TemplateModel model = GuidedRuleTemplateFactory.makeModelWithActions( "org.drools.workbench.screens.guided.template.server.indexing", new ArrayList<Import>() { {//from www.j a v a 2 s . c o m add(new Import( "org.drools.workbench.screens.guided.template.server.indexing.classes.Applicant")); add(new Import( "org.drools.workbench.screens.guided.template.server.indexing.classes.Mortgage")); } }, "template1"); final String xml = RuleTemplateModelXMLPersistenceImpl.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.template.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.template.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); } }