Package org.apache.lucene.search

Examples of org.apache.lucene.search.DocIdSet


import com.kamikaze.docidset.impl.OrDocIdSet;

public class DefaultBrowseQueryParser implements BrowseQueryParser {

  public DocIdSet parse(SelectionNode[] selectionNodes,SelectionNode[] notSelectionNodes,int maxDoc) {
    DocIdSet docSet=null;
    DocIdSet selSet=null;
   
    if (selectionNodes!=null && selectionNodes.length>0)
    {
      ArrayList<DocIdSet> selSetList=new ArrayList<DocIdSet>(selectionNodes.length);
      for (SelectionNode selectionNode : selectionNodes)
      {       
        DocIdSet ds=selectionNode.getDocSet();
       
        if (ds!=null)
        {
          selSetList.add(ds);
        }
      }
     
      if (selSetList.size()>0)
      {
        if (selSetList.size()==1)
        {
          selSet=selSetList.get(0);
        }
        else
        {
          selSet=new AndDocIdSet(selSetList);
        }
      }
    }
     
    DocIdSet notSelSet=null;
   
    if (notSelectionNodes!=null && notSelectionNodes.length > 0)
    {
      ArrayList<DocIdSet> notSelSetList=new ArrayList<DocIdSet>(notSelectionNodes.length);
      for (SelectionNode selectionNode : notSelectionNodes)
      {
        DocIdSet ds=selectionNode.getDocSet();
       
        if (ds!=null)
        {
          notSelSetList.add(ds);
        }
View Full Code Here


  @Override
  public RandomAccessDocIdSet getRandomAccessDocIdSet(BoboIndexReader reader) throws IOException
  {
    if (_vals.length == 0)
    {
      final DocIdSet empty = EmptyDocIdSet.getInstance();
        return new RandomAccessDocIdSet()
        {
        @Override
        public boolean get(int docId)
        {
          return false;
        }
   
        @Override
        public DocIdSetIterator iterator() throws IOException
        {
          return empty.iterator();
        }        
        };
    }
    else
    {
View Full Code Here

   */
  public void testDoMergingOnOpenBitSet() throws IOException {
    List<DocIdSet> dataIn = new ArrayList<DocIdSet>( 3 );
    dataIn.add( makeOpenBitSetTestSet( 1,2,5,8,9,10,11 ) );
    dataIn.add( makeOpenBitSetTestSet( 1,2,3,5,8,11 ) );
    DocIdSet unmergedSet = makeAnonymousTestSet( 1,2,3,5,8,9,10,11 );
    dataIn.add( unmergedSet );
    List<DocIdSet> merge = FilterOptimizationHelper.mergeByBitAnds( dataIn );
    assertNotSame( dataIn, merge );
   
    assertEquals( 2, merge.size() );
View Full Code Here

   */
  public void testDoMergingOnJavaBitSet() throws IOException {
    List<DocIdSet> dataIn = new ArrayList<DocIdSet>( 3 );
    dataIn.add( makeBitSetTestSet( 1,2,5,8,9,10,11 ) );
    dataIn.add( makeBitSetTestSet( 1,2,3,5,8,11 ) );
    DocIdSet unmergedSet = makeAnonymousTestSet( 1,2,3,5,8,9,10,11 );
    dataIn.add( unmergedSet );
    List<DocIdSet> merge = FilterOptimizationHelper.mergeByBitAnds( dataIn );
    assertNotSame( dataIn, merge );
   
    assertEquals( 2, merge.size() );
View Full Code Here

   * test helper, makes an implementation of a DocIdSet
   * @param docIds the ids it should contain
   * @return
   */
  private DocIdSet makeAnonymousTestSet(int... docIds) {
    DocIdSet idSet = makeOpenBitSetTestSet( docIds );
    return new DocIdSetHiddenType( idSet );
  }
View Full Code Here

    List<Integer> andLists = andLists( testDataFrom0to9, testDataFrom1to10 );
    assertTrue( andLists.containsAll( testDataFrom1to9 ) );
    assertFalse( andLists.contains( Integer.valueOf( 0 ) ) );
    assertFalse( andLists.contains( Integer.valueOf( 10 ) ) );
    assertTrue( andLists.equals( testDataFrom1to9 ) );
    DocIdSet docIdSet0_9 = arrayToDocIdSet(testDataFrom0to9);
    DocIdSet docIdSet1_10 = arrayToDocIdSet(testDataFrom1to10);
    DocIdSet docIdSet1_9 = arrayToDocIdSet(testDataFrom1to9);
    assertTrue( docIdSetsEqual( docIdSet0_9, docIdSet0_9 ) );
    assertTrue( docIdSetsEqual( docIdSet1_10, docIdSet1_10 ) );
    assertFalse( docIdSetsEqual( docIdSet1_10, docIdSet1_9 ) );
    assertFalse( docIdSetsEqual( docIdSet0_9, docIdSet1_9 ) );
  }
View Full Code Here

    assertFalse( docIdSetsEqual( docIdSet0_9, docIdSet1_9 ) );
  }
 
  // auto-testing of test utility methods for conversion in DocIdSetIterator
  public void testIteratorMatchesTestArray() throws IOException {
    DocIdSet docIdSet0_9 = arrayToDocIdSet(testDataFrom0to9);
    DocIdSetIterator docIdSetIterator = docIdSet0_9.iterator();
    assertTrue( docIdSetIterator.next() );
    assertEquals( 0, docIdSetIterator.doc() );
    assertTrue( docIdSetIterator.skipTo(9) );
    assertFalse( docIdSetIterator.skipTo(10) );
  }
View Full Code Here

 
  public void testAndDocIdSets() {
    List<DocIdSet> filters = new ArrayList<DocIdSet>( 2 );
    filters.add( arrayToDocIdSet( testDataFrom0to9 ) );
    filters.add( arrayToDocIdSet( testDataFrom1to10 ) );
    DocIdSet expected = arrayToDocIdSet( testDataFrom1to9 );
    DocIdSet testedSet = new AndDocIdSet( filters, 10 );
    assertTrue( docIdSetsEqual( expected, testedSet ) );
  }
View Full Code Here

  public void onRandomBigArraysTest(long randomSeed) {
    List<BitSet> filtersData = makeRandomBitSetList( randomSeed, 4, 1000000, 1500000 );
    BitSet expectedBitset = applyANDOnBitSets( filtersData );
    List<DocIdSet> filters = toDocIdSetList( filtersData );
    DocIdBitSet expectedDocIdSet = new DocIdBitSet( expectedBitset );
    DocIdSet testedSet = new AndDocIdSet( filters, 1500000 );
    assertTrue( docIdSetsEqual(expectedDocIdSet, testedSet) );
  }
View Full Code Here

  }
 
  private static void compareAndingPerformance(final int listSize,
      final int minBitsSize, final int maxBitsSize) throws IOException {
    List<BitSet> filtersData = makeRandomBitSetList( 13L, listSize, minBitsSize, maxBitsSize );
    DocIdSet andedByBitsResult = null;
    DocIdSet andedByIterationResult = null;
    {
      long startTime = System.currentTimeMillis();
      for ( int i=0; i<1000; i++ ) {
        BitSet expectedBitset = applyANDOnBitSets( filtersData );
        andedByBitsResult = new DocIdBitSet( expectedBitset );
View Full Code Here

TOP

Related Classes of org.apache.lucene.search.DocIdSet

Copyright © 2018 www.massapicom. 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.