Examples of DocumentIterator


Examples of it.unimi.dsi.mg4j.search.DocumentIterator

    assertEquals( Interval.valueOf( 30, 105 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
  }

  public void testLoopcounterPersistenceSingleton() throws IOException {
    DocumentIterator i0 = new IntArrayIndexIterator( new int[] { 0 },
        new int[][] {
        { 1, 4, 11 }
    });
    DocumentIterator i1 = new IntArrayIndexIterator( new int[] { 0 },
        new int[][] {
        {  2, 7 }
        } );
    DocumentIterator i2 = new IntArrayIndexIterator( new int[] { 0 },
        new int[][] {
        { 7, 10, 14, 20 },
        } );
    DocumentIterator i3 = new IntArrayIndexIterator( new int[] { 0 },
        new int[][] {
        { 10, 15, 30 },
        } );
    DocumentIterator orderedAndDocumentIterator = OrderedAndDocumentIterator.getInstance( i0, i1, i2, i3 );
    assertTrue( orderedAndDocumentIterator.hasNext() );
    assertEquals( 0, orderedAndDocumentIterator.nextDocument() );
    assertEquals( Interval.valueOf( 1, 10 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertEquals( Interval.valueOf( 4, 15 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

    assertEquals( Interval.valueOf( 4, 15 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
  }

  public void testIndexIntervalIterator() throws IOException {
    DocumentIterator i0 = new IntArrayIndexIterator( new int[] { 0, 1, 2, 3, 4, 5 },
        new int[][] {
        { 0, 1, 2 },
        { 0 },
        { 3 },
        { 1, 2 },
        { 1, 2 },
        { 1, 3 },
        } );
    DocumentIterator i1 = new IntArrayIndexIterator( new int[] { 0, 1, 2, 3, 4, 5 },
        new int[][] {
        { 0, 1, 2 },
        { 1 },
        { 4 },
        { 2, 4 },
        { 3 },
        { 2, 3 }
        } );
    DocumentIterator i2 = new IntArrayIndexIterator( new int[] { 0, 1, 2, 3, 4, 5 },
        new int[][] {
        { 0, 1, 2 },
        { 2 },
        { 2 },
        { 4, 8 },
        { 4 },
        { 5 }
        } );
    DocumentIterator orderedAndDocumentIterator = OrderedAndDocumentIterator.getInstance( i0, i1, i2 );
    assertTrue( orderedAndDocumentIterator.hasNext() );
    assertEquals( 0, orderedAndDocumentIterator.nextDocument() );
    assertEquals( 0, orderedAndDocumentIterator.document() );
    assertEquals( Interval.valueOf( 0, 2 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
    assertEquals( 1, orderedAndDocumentIterator.nextDocument() );
    assertEquals( 1, orderedAndDocumentIterator.document() );
    assertEquals( Interval.valueOf( 0, 2 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
    assertEquals( 3, orderedAndDocumentIterator.nextDocument() );
    assertEquals( 3, orderedAndDocumentIterator.document() );
    assertEquals( Interval.valueOf( 1, 4 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertEquals( Interval.valueOf( 2, 8 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
    assertEquals( 4, orderedAndDocumentIterator.nextDocument() );
    assertEquals( 4, orderedAndDocumentIterator.document() );
    assertEquals( Interval.valueOf( 2, 4 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
    assertEquals( 5, orderedAndDocumentIterator.nextDocument() );
    assertEquals( 5, orderedAndDocumentIterator.document() );
    assertEquals( Interval.valueOf( 1, 5 ), orderedAndDocumentIterator.intervalIterator().nextInterval() );
    assertFalse( orderedAndDocumentIterator.intervalIterator().hasNext() );
    assertFalse( orderedAndDocumentIterator.hasNext() );
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

 
  public void testSkipBug() throws QueryParserException, QueryBuilderVisitorException, IOException {
    Query query = simpleParser.parse( "a | b | c" );
    DocumentIteratorBuilderVisitor documentIteratorBuilderVisitor = new DocumentIteratorBuilderVisitor( null, index, Integer.MAX_VALUE );
    DocumentIterator documentIterator = query.accept( documentIteratorBuilderVisitor );
    assertEquals( 2, documentIterator.skipTo( 2 ) );
    documentIterator.dispose();
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

    documentIterator.dispose();
  }
 

  public void testOr() throws IOException {
    DocumentIterator i0 = new IntArrayDocumentIterator( new int[] { 0, 2, 3, 4, 5, 6, 7 },
        new int[][][] {
        { { 0, 1 } },
        { { 0, 1 }, { 1, 2 } },
        { { 0, 1 }, { 1, 2 } },
        { {} },
        { {} },
        {},
        {},
        } );
    DocumentIterator i1 = new IntArrayDocumentIterator( new int[] { 1, 2, 3, 4, 5, 6, 7 },
        new int[][][] {
        { { 1 } },
        { { 1, 3 }, { 3, 4 } },
        { {} },
        { {} },
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

  }

  public void testWeights() throws QueryBuilderVisitorException, IOException {
    Query query = new Weight( 0.5, new And( new Term( "a" ), new Term( "b" ) ) );
    DocumentIteratorBuilderVisitor documentIteratorBuilderVisitor = new DocumentIteratorBuilderVisitor( null, index, Integer.MAX_VALUE );
    DocumentIterator documentIterator = query.accept( documentIteratorBuilderVisitor );
    assertEquals( .5, documentIterator.weight(), 0 );
    documentIterator.dispose();

    query = new Weight( .1, new Weight( 0.5, new And( new Weight( .2, new Term( "a" ) ), new Term( "b" ) ) ) );
    documentIteratorBuilderVisitor = new DocumentIteratorBuilderVisitor( null, index, Integer.MAX_VALUE );
    documentIterator = query.accept( documentIteratorBuilderVisitor );
    assertEquals( .5, documentIterator.weight(), 0 );
    documentIterator.dispose();
}
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

import junit.framework.TestCase;

public class DifferenceDocumentIteratorTest extends TestCase {

  public void testdifference() throws IOException {
    DocumentIterator minuendIterator = new IntArrayDocumentIterator( new int[] { 0, 1, 2, 3 },
        new int[][][] {
        { { 0, 1 } },
        { { 0, 1 }, { 1, 2 }, { 2, 3 } },
        { { 0, 1 }, { 1, 2 }, { 2, 3 } },
        { { 0 } }
        } );
    DocumentIterator subtrahendIterator = new IntArrayDocumentIterator( new int[] { 1, 2 },
        new int[][][] {
        { { 1 } },
        { { 1, 3 } }
        } );
    DocumentIterator differenceIterator = DifferenceDocumentIterator.getInstance( minuendIterator, subtrahendIterator );
    assertTrue( differenceIterator.hasNext() );
    assertTrue( differenceIterator.hasNext() ); // To increase coverage
    assertEquals( 0, differenceIterator.nextDocument() );
    assertEquals( 0, differenceIterator.document() );
    assertEquals( Interval.valueOf( 0, 1 ), differenceIterator.intervalIterator().nextInterval() );
    assertFalse( differenceIterator.intervalIterator().hasNext() );
    assertEquals( 1, differenceIterator.nextDocument() );
    assertEquals( 1, differenceIterator.document() );
    assertEquals( Interval.valueOf( 2, 3 ), differenceIterator.intervalIterator().nextInterval() );
    assertFalse( differenceIterator.intervalIterator().hasNext() );
    assertEquals( 2, differenceIterator.nextDocument() );
    assertEquals( 2, differenceIterator.document() );
    assertEquals( Interval.valueOf( 0, 1 ), differenceIterator.intervalIterator().nextInterval() );
    assertEquals( Interval.valueOf( 1, 2 ), differenceIterator.intervalIterator().nextInterval() );
    assertEquals( Interval.valueOf( 2, 3 ), differenceIterator.intervalIterator().nextInterval() );
    assertFalse( differenceIterator.intervalIterator().hasNext() );
    assertEquals( 3, differenceIterator.nextDocument() );
    assertEquals( 3, differenceIterator.document() );
    assertEquals( Interval.valueOf( 0 ), differenceIterator.intervalIterator().nextInterval() );
    assertFalse( differenceIterator.intervalIterator().hasNext() );
    assertFalse( differenceIterator.hasNext() ); // To increase coverage
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

    assertFalse( differenceIterator.hasNext() ); // To increase coverage
  }


  public void testSubtrahendExhaustion() throws IOException {
    DocumentIterator minuendIterator = new IntArrayDocumentIterator( new int[] { 0 },
        new int[][][] {
        { { 0, 1 }, { 1, 2 }, { 2, 3 }, { 3, 4 } }
        } );
    DocumentIterator subtrahendIterator = new IntArrayDocumentIterator( new int[] { 0 },
        new int[][][] {
        { { 1 } },
        } );
    DocumentIterator differenceIterator = DifferenceDocumentIterator.getInstance( minuendIterator, subtrahendIterator );
    assertTrue( differenceIterator.hasNext() );
    assertEquals( 0, differenceIterator.nextDocument() );
    assertEquals( 0, differenceIterator.document() );
    assertEquals( Interval.valueOf( 2, 3 ), differenceIterator.intervalIterator().nextInterval() );
    assertEquals( Interval.valueOf( 3, 4 ), differenceIterator.intervalIterator().nextInterval() );
    assertFalse( differenceIterator.intervalIterator().hasNext() );
    assertFalse( differenceIterator.hasNext() ); // To increase coverage
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

        { { 1 } },
        { { 1, 3 } },
        { {} },
        { {} },
        } );
    DocumentIterator differenceIterator = DifferenceDocumentIterator.getInstance( minuendIterator, subtrahendIterator );
    assertEquals( 2, differenceIterator.skipTo( 1 ) );
    assertEquals( 2, differenceIterator.skipTo( 1 ) ); // To increase coverage
    assertEquals( Integer.MAX_VALUE, differenceIterator.skipTo( 4 ) );

    minuendIterator.reset();
    subtrahendIterator.reset();
    differenceIterator = DifferenceDocumentIterator.getInstance( minuendIterator, subtrahendIterator );
    assertEquals( 2, differenceIterator.skipTo( 2 ) );
   
   
    minuendIterator.reset();
    subtrahendIterator.reset();
    differenceIterator = DifferenceDocumentIterator.getInstance( minuendIterator, subtrahendIterator );
    assertEquals( Integer.MAX_VALUE, differenceIterator.skipTo( 10 ) );
    assertEquals( Integer.MAX_VALUE, differenceIterator.skipTo( 10 ) );
    assertEquals( -1, differenceIterator.nextDocument() );
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

  }
 
  private void assertScores( String q, it.unimi.dsi.mg4j.index.Index index, Scorer scorer, double[] expected ) throws QueryParserException, QueryBuilderVisitorException, IOException {
    it.unimi.dsi.mg4j.query.nodes.Query query = simpleParser.parse( q );
    DocumentIteratorBuilderVisitor documentIteratorBuilderVisitor = new DocumentIteratorBuilderVisitor( null, index, Integer.MAX_VALUE );
    DocumentIterator documentIterator = query.accept( documentIteratorBuilderVisitor );
    scorer.wrap( documentIterator );
   
    int i = 0;
    while ( documentIterator.nextDocument() != -1 ) {
      final double score = scorer.score();
      assertEquals( "Item " + i + " (document " + documentIterator.document() + ")", expected[ i ], score, ASSERT_DIFF );
      i++;
    }
   
    documentIterator.dispose();
  }
View Full Code Here

Examples of it.unimi.dsi.mg4j.search.DocumentIterator

      termProcessors
    );
       
    it.unimi.dsi.mg4j.query.nodes.Query query = simpleParser.parse( q );
    DocumentIteratorBuilderVisitor documentIteratorBuilderVisitor = new DocumentIteratorBuilderVisitor( indexMap, defaultIndex, Integer.MAX_VALUE );
    DocumentIterator documentIterator = query.accept( documentIteratorBuilderVisitor );
    scorer.wrap( documentIterator );
   
    int i = 0;
    while ( documentIterator.hasNext() ) {
      documentIterator.next();

      final double score = scorer.score();
      assertEquals( "Item " + i + " (document " + documentIterator.document() + ")", expected[ i ], score, ASSERT_DIFF );
      i++;
    }
   
    assertEquals( i, expected.length );
   
    documentIterator.dispose();
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.