List of usage examples for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS
int NO_MORE_DOCS
To view the source code for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.
Click Source Link
From source file:org.sindice.siren.search.TestSirenReqExclScorer.java
License:Apache License
@Test public void testSkipToWithTermExclusion() throws Exception { for (int i = 0; i < 32; i++) { _helper.addDocument("\"aaa bbb\" \"aaa ccc\" . \"aaa bbb ccc\" \"bbb ccc\" \"aaa aaa\". "); _helper.addDocument("\"aaa bbb aaa\" . \"aaa ccc bbb\" . "); }/* w w w. ja va 2 s. com*/ final SirenReqExclScorer scorer = this.getReqExclScorer("aaa", "bbb"); assertFalse(scorer.advance(16) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(16, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(1, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(16, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(2, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); // should match two times (two positions in the cell) assertEquals(16, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(2, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.nextDoc() == DocIdSetIterator.NO_MORE_DOCS); assertEquals(18, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(1, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.advance(40, 1) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(40, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(2, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); // should match two times (two positions in the cell) assertEquals(40, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(2, scorer.cell()); assertFalse(scorer.advance(60, 1, 1) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(60, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(2, scorer.cell()); assertTrue(scorer.advance(64, 2) == DocIdSetIterator.NO_MORE_DOCS); assertTrue(scorer.advance(65) == DocIdSetIterator.NO_MORE_DOCS); }
From source file:org.sindice.siren.search.TestSirenReqExclScorer.java
License:Apache License
@Test public void testSkipToWithPhraseExclusion() throws Exception { for (int i = 0; i < 32; i++) { _helper.addDocument("\"aaa bbb ccc\" \"aaa ccc\" . \"aaa bbb ccc dd ddd\" \"bbb aaa ccc ddd\" . "); _helper.addDocument("\"aaa ccc bbb aaa bbb ddd\" \"aaa bbb ddd ccc\" . "); }//w w w . j av a2s.c om final SirenReqExclScorer scorer = this.getReqExclScorer(new String[] { "aaa", "bbb" }, new String[] { "ccc", "ddd" }); assertFalse(scorer.advance(32) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(32, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(0, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(32, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(0, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.advance(40, 1) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(40, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(0, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.advance(52, 1, 0) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(52, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(0, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.advance(53, 0, 1) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(53, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(1, scorer.cell()); assertTrue(scorer.advance(64, 2) == DocIdSetIterator.NO_MORE_DOCS); assertTrue(scorer.advance(65) == DocIdSetIterator.NO_MORE_DOCS); }
From source file:org.sindice.siren.search.TestSirenReqOptScorer.java
License:Apache License
@Test public void testNextPositionWithOptionalTerm() throws Exception { _helper.addDocument("\"aaa bbb\" \"aaa ccc\" . \"aaa bbb ccc\" \"bbb ccc\" . "); _helper.addDocument("\"aaa\" \"aaa bbb\" . "); final SirenReqOptScorer scorer = this.getReqOptScorer("aaa", "bbb"); assertFalse(scorer.nextDoc() == DocIdSetIterator.NO_MORE_DOCS); assertEquals(0, scorer.entity());/*from w ww . ja v a2 s . co m*/ assertEquals(0, scorer.tuple()); assertEquals(0, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(0, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(1, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(0, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(0, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertFalse(scorer.nextDoc() == DocIdSetIterator.NO_MORE_DOCS); assertEquals(1, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(0, scorer.cell()); assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(1, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(1, scorer.cell()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertTrue(scorer.nextDoc() == DocIdSetIterator.NO_MORE_DOCS); }
From source file:org.sindice.siren.search.TestSirenTermScorer.java
License:Apache License
@Test public void testSkipToEntityTupleCell() throws Exception { for (int i = 0; i < 32; i++) _helper.addDocument("<http://renaud.delbru.fr/> . \"renaud delbru\" \"renaud delbru\" . "); final SirenScorer scorer = this.getTermScorer(QueryTestingHelper.DEFAULT_FIELD, "renaud"); assertFalse(scorer.advance(16, 1, 1) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(16, scorer.docID());//w ww.j a v a 2s.c o m assertEquals(16, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(1, scorer.cell()); assertEquals(-1, scorer.dataset()); assertEquals(4, scorer.pos()); }
From source file:org.sindice.siren.search.TestSirenTermScorer.java
License:Apache License
@Test public void testSkipToNonExistingEntityTupleCell() throws Exception { for (int i = 0; i < 32; i++) _helper.addDocument("<http://renaud.delbru.fr/> . \"renaud delbru\" \"renaud delbru\" . "); final SirenScorer scorer = this.getTermScorer(QueryTestingHelper.DEFAULT_FIELD, "renaud"); // does not exist, should skip to entity 17 and first cell assertFalse(scorer.advance(16, 3, 2) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(17, scorer.docID());// w ww. j a v a2 s. com assertEquals(17, scorer.entity()); assertEquals(0, scorer.tuple()); assertEquals(0, scorer.cell()); assertEquals(-1, scorer.dataset()); assertEquals(0, scorer.pos()); }
From source file:org.sindice.siren.search.TestSirenTermScorer.java
License:Apache License
@Test public void testSkipToEntityTupleCellNextPosition() throws Exception { for (int i = 0; i < 32; i++) _helper.addDocument("<http://renaud.delbru.fr/> . \"renaud delbru\" \"renaud delbru\" . "); final SirenScorer scorer = this.getTermScorer(QueryTestingHelper.DEFAULT_FIELD, "delbru"); assertFalse(scorer.advance(16, 1, 0) == DocIdSetIterator.NO_MORE_DOCS); assertEquals(16, scorer.docID());/*from w w w. java 2s . c o m*/ assertEquals(16, scorer.entity()); assertEquals(1, scorer.tuple()); assertEquals(0, scorer.cell()); assertEquals(-1, scorer.dataset()); assertEquals(3, scorer.pos()); // Should not return match in first tuple (tuple 0) assertFalse(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); assertEquals(1, scorer.tuple()); assertEquals(1, scorer.cell()); assertEquals(-1, scorer.dataset()); assertEquals(5, scorer.pos()); assertTrue(scorer.nextPosition() == SirenIdIterator.NO_MORE_POS); }
From source file:org.sindice.siren.util.ScorerCellQueue.java
License:Apache License
/** * Move the least scorer to the next entity and adjust the heap. If the least * scorer has no more entities, removes the scorer and returns false. *//*from www. ja v a2s.c o m*/ public final boolean topNextAndAdjustElsePop() throws IOException { if (topHSC.scorer.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { return this.checkAdjustElsePop(true); } return this.checkAdjustElsePop(false); }
From source file:org.sindice.siren.util.ScorerCellQueue.java
License:Apache License
/** * Move all the scorers (including the top scorer) that have entity numbers * equals to the top entity number. If one of the subscorer is exhausted, * removes the scorer./*w w w . j a va 2s .c o m*/ * @return Return the number of scorers that have been removed. */ public final int nextAndAdjustElsePop() throws IOException { int counter = 0; final int entity = topHSC.entity; while (size > 0 && topHSC.entity == entity) { if (topHSC.scorer.nextDoc() != DocIdSetIterator.NO_MORE_DOCS) { this.checkAdjustElsePop(true); } else { this.checkAdjustElsePop(false); counter++; } } return counter; }
From source file:org.sindice.siren.util.ScorerCellQueue.java
License:Apache License
public final boolean topSkipToAndAdjustElsePop(final int entity) throws IOException { return this.checkAdjustElsePop(topHSC.scorer.advance(entity) != DocIdSetIterator.NO_MORE_DOCS); }
From source file:org.sindice.siren.util.ScorerCellQueue.java
License:Apache License
public final boolean topSkipToAndAdjustElsePop(final int entity, final int tuple) throws IOException { return this.checkAdjustElsePop(topHSC.scorer.advance(entity, tuple) != DocIdSetIterator.NO_MORE_DOCS); }