Example usage for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS

List of usage examples for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS

Introduction

In this page you can find the example usage for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.

Prototype

int NO_MORE_DOCS

To view the source code for org.apache.lucene.search DocIdSetIterator NO_MORE_DOCS.

Click Source Link

Document

When returned by #nextDoc() , #advance(int) and #docID() it means there are no more docs in the iterator.

Usage

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);
}