@Test public void testSingleTermNoMatch() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("red", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(0, p.size()); p.close(); }
@Test public void testMultipleTermNoMatch() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("badger", 1.2d); mqt.addTermPropertyWeight("mole", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(0, p.size()); p.close(); }
@Ignore @Test public void testSynonymNoMatch() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("badger|mole", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(0, p.size()); p.close(); }
@Ignore @Test public void testSynonymOneMatch() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("red|brown", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; IterablePosting ip; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(1, p.size()); assertEquals(1.2d, p.getKeyFrequency(0), 0.0d); assertEquals("red|brown", p.getTerm(0)); ip = p.getPosting(0); assertEquals(0, ip.getId()); assertEquals(1, ip.getFrequency()); assertEquals(IterablePosting.EOL, ip.next()); p.close(); }
@Test public void testTaggedMatching() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.add(QTPBuilder.of(Operator.parse("brown")).setWeight(1.2d).setTag("match").build()); mqt.add(QTPBuilder.of(Operator.parse("fox")).setWeight(1.2d).setTag("nomatch").build()); //mqt.matchOnTags.add("match"); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(2, p.size()); assertEquals(1, p.getMatchingTerms().length); assertEquals(0, p.getMatchingTerms()[0]); assertEquals(1, p.getNonMatchingTerms().length); assertEquals(1, p.getNonMatchingTerms()[0]); p.close(); }
mqt.setQueryId("test"); mqt.setTermProperty("term", 1.0d); mqt.setDefaultTermWeightingModel(new TF_IDF()); Matching m = new FatFull(index); assertEquals(1, frInput.getCollectionStatistics().getNumberOfUniqueTerms()); FatScoringMatching fsm = new FatScoringMatching(null, null, new TF_IDF()); ResultSet r2 = fsm.doMatch("test", mqt, frInput);
@Test public void testMultipleTermBothMatch() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.setDefaultTermWeightingModel(new TF_IDF()); mqt.addTermPropertyWeight("foxes", 1); mqt.addTermPropertyWeight("quick", 1); PostingListManager p; IterablePosting ip; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(false); assertEquals(2, p.size()); ip = p.getPosting(0); assertEquals(1, ip.next()); assertEquals(1, ip.getId()); assertEquals(1, ip.getFrequency()); assertEquals(IterablePosting.EOL, ip.next()); ip = p.getPosting(1); assertEquals(0, ip.next(), 0); assertEquals(0, ip.getId(), 0); assertEquals(1, ip.getFrequency(), 1); assertEquals(IterablePosting.EOL, ip.next()); p.close(); }
@Test public void testTaggedMatchingWithMissing() throws Exception { Index index = createIndex(); MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.add(QTPBuilder.of(Operator.parse("zebra")).setWeight(1.2d).setTag("nomatch").build()); mqt.add(QTPBuilder.of(Operator.parse("brown")).setWeight(1.2d).setTag("match").build()); mqt.add(QTPBuilder.of(Operator.parse("fox")).setWeight(1.2d).setTag("nomatch").build()); //mqt.matchOnTags.add("match"); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; p = new PostingListManager(index, index.getCollectionStatistics(), mqt); p.prepare(true); assertEquals(2, p.size()); assertEquals(1, p.getMatchingTerms().length); assertEquals(0, p.getMatchingTerms()[0]); assertEquals(1, p.getNonMatchingTerms().length); assertEquals(1, p.getNonMatchingTerms()[0]); p.close(); }
mqt.addTermPropertyWeight("foxes", 1.2d); mqt.addTermPropertyWeight("red", 1d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; IterablePosting ip;
MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("foxes", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; IterablePosting ip;
MatchingQueryTerms mqt = new MatchingQueryTerms(); mqt.addTermPropertyWeight("fox|foxes", 1.2d); mqt.setDefaultTermWeightingModel(new TF_IDF()); PostingListManager p; IterablePosting ip;
mqt.setTermProperty("term", 1.0d); mqt.setDefaultTermWeightingModel(new TF_IDF()); Matching m = new FatFull(index);