org.apache.solr.search

## Class SortedIntDocSet

- java.lang.Object
- - org.apache.solr.search.SortedIntDocSet

- All Implemented Interfaces:
    Closeable, AutoCloseable, Accountable, DocSet

      public class SortedIntDocSet
      extends Object

  `SortedIntDocSet` represents a sorted set of Lucene Document Ids.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected int[]` | `docs`
    `static SortedIntDocSet` | `zero`
    `static int[]` | `zeroInts`

    - ### Fields inherited from interface org.apache.solr.search.DocSet

      `EMPTY`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SortedIntDocSet(int[] docs)`
    `SortedIntDocSet(int[] docs, int len)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `add(int doc)` Adds the specified document if it is not currently in the DocSet (optional operation).
    `void` | `addAllTo(DocSet target)` Adds all the docs from this set to the target set.
    `void` | `addUnique(int doc)` Adds a document the caller knows is not currently in the DocSet (optional operation).
    `DocSet` | `andNot(DocSet other)` Returns the documents in this set that are not in the other set.
    `static int` | `andNot(int[] a, int lena, int[] b, int lenb, int[] target)` puts the intersection of a and not b into the target array and returns the size
    `protected static int` | `andNotBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)`
    `int` | `andNotSize(DocSet other)` Returns the number of documents in this set that are not in the other set.
    `protected SortedIntDocSet` | `clone()`
    `void` | `close()` FUTURE: for off-heap
    `boolean` | `equals(Object obj)`
    `boolean` | `exists(int doc)` Returns true if a document is in the DocSet.
    `static int` | `findIndex(int[] arr, int value, int low, int high)`
    `static int` | `firstNonSorted(int[] arr, int offset, int len)` Returns the index of the first non-sorted element or -1 if they are all sorted
    `FixedBitSet` | `getBits()` Return a `FixedBitSet` with a bit set for every document in this `DocSet`.
    `Collection<Accountable>` | `getChildResources()`
    `int[]` | `getDocs()`
    `Filter` | `getTopFilter()` Returns a Filter for use in Lucene search methods, assuming this DocSet was generated from the top-level MultiReader that the Lucene search methods will be invoked with.
    `DocSet` | `intersection(DocSet other)` Returns the intersection of this set with another set.
    `static int` | `intersection(int[] a, int lena, int[] b, int lenb, int[] target)` puts the intersection of a and b into the target array and returns the size
    `protected static int` | `intersectionBinarySearch(int[] a, int lena, int[] b, int lenb, int[] target)` Puts the intersection of a and b into the target array and returns the size.
    `int` | `intersectionSize(DocSet other)` Returns the number of documents of the intersection of this set with another set.
    `static int` | `intersectionSize(int[] smallerSortedList, int[] biggerSortedList)`
    `boolean` | `intersects(DocSet other)` Returns true if these sets have any elements in common
    `static boolean` | `intersects(int[] smallerSortedList, int[] biggerSortedList)`
    `DocIterator` | `iterator()` Returns an iterator that may be used to iterate over all of the documents in the set.
    `long` | `ramBytesUsed()`
    `static int[]` | `shrink(int[] arr, int newSize)`
    `int` | `size()` Returns the number of documents in the set.
    `static FixedBitSet` | `toBitSet(DocSet set)`
    `DocSet` | `union(DocSet other)` Returns the union of this set with another set.
    `int` | `unionSize(DocSet other)` Returns the number of documents of the union of this set with another set.

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### docs

          protected final int[] docs

    - #### zeroInts

          public static int[] zeroInts

    - #### zero

          public static SortedIntDocSet zero

  - ### Constructor Detail

    - #### SortedIntDocSet

          public SortedIntDocSet(int[] docs)

      Parameters:
        `docs` - Sorted list of ids

    - #### SortedIntDocSet

          public SortedIntDocSet(int[] docs,
                                 int len)

      Parameters:
        `docs` - Sorted list of ids
        `len` - Number of ids in the list

  - ### Method Detail

    - #### getDocs

          public int[] getDocs()

    - #### size

          public int size()

      Description copied from interface: `DocSet`
      Returns the number of documents in the set.

    - #### shrink

          public static int[] shrink(int[] arr,
                                     int newSize)

    - #### firstNonSorted

          public static int firstNonSorted(int[] arr,
                                           int offset,
                                           int len)

      Returns the index of the first non-sorted element or -1 if they are all sorted

    - #### intersectionSize

          public static int intersectionSize(int[] smallerSortedList,
                                             int[] biggerSortedList)

    - #### intersects

          public static boolean intersects(int[] smallerSortedList,
                                           int[] biggerSortedList)

    - #### intersectionSize

          public int intersectionSize(DocSet other)

      Description copied from interface: `DocSet`
      Returns the number of documents of the intersection of this set with another set. May be more efficient than actually creating the intersection and then getting its size.
      Specified by:
        `intersectionSize` in interface `DocSet`

    - #### intersects

          public boolean intersects(DocSet other)

      Description copied from interface: `DocSet`
      Returns true if these sets have any elements in common
      Specified by:
        `intersects` in interface `DocSet`

    - #### intersection

          public static int intersection(int[] a,
                                         int lena,
                                         int[] b,
                                         int lenb,
                                         int[] target)

      puts the intersection of a and b into the target array and returns the size

    - #### intersectionBinarySearch

          protected static int intersectionBinarySearch(int[] a,
                                                        int lena,
                                                        int[] b,
                                                        int lenb,
                                                        int[] target)

      Puts the intersection of a and b into the target array and returns the size. lena should be smaller than lenb

    - #### intersection

          public DocSet intersection(DocSet other)

      Description copied from interface: `DocSet`
      Returns the intersection of this set with another set. Neither set is modified - a new DocSet is created and returned.
      Specified by:
        `intersection` in interface `DocSet`
      Returns:
        a DocSet representing the intersection

    - #### andNotBinarySearch

          protected static int andNotBinarySearch(int[] a,
                                                  int lena,
                                                  int[] b,
                                                  int lenb,
                                                  int[] target)

    - #### andNot

          public static int andNot(int[] a,
                                   int lena,
                                   int[] b,
                                   int lenb,
                                   int[] target)

      puts the intersection of a and not b into the target array and returns the size

    - #### andNot

          public DocSet andNot(DocSet other)

      Description copied from interface: `DocSet`
      Returns the documents in this set that are not in the other set. Neither set is modified - a new DocSet is created and returned.
      Specified by:
        `andNot` in interface `DocSet`
      Returns:
        a DocSet representing this AND NOT other

    - #### addAllTo

          public void addAllTo(DocSet target)

      Description copied from interface: `DocSet`
      Adds all the docs from this set to the target set. The target should be sized large enough to accommodate all of the documents before calling this method.
      Specified by:
        `addAllTo` in interface `DocSet`

    - #### exists

          public boolean exists(int doc)

      Description copied from interface: `DocSet`
      Returns true if a document is in the DocSet.

    - #### iterator

          public DocIterator iterator()

      Description copied from interface: `DocSet`
      Returns an iterator that may be used to iterate over all of the documents in the set.

      The order of the documents returned by this iterator is non-deterministic, and any scoring information is meaningless

    - #### getBits

          public FixedBitSet getBits()

      Return a `FixedBitSet` with a bit set for every document in this `DocSet`. The default implementation iterates on all docs and sets the relevant bits. You should override if you can provide a more efficient implementation.

    - #### findIndex

          public static int findIndex(int[] arr,
                                      int value,
                                      int low,
                                      int high)

    - #### getTopFilter

          public Filter getTopFilter()

      Description copied from interface: `DocSet`
      Returns a Filter for use in Lucene search methods, assuming this DocSet was generated from the top-level MultiReader that the Lucene search methods will be invoked with.
      Specified by:
        `getTopFilter` in interface `DocSet`

    - #### clone

          protected SortedIntDocSet clone()

      Overrides:
        `clone` in class `Object`

    - #### ramBytesUsed

          public long ramBytesUsed()

    - #### getChildResources

          public Collection<Accountable> getChildResources()

    - #### toBitSet

          public static FixedBitSet toBitSet(DocSet set)

    - #### equals

          public boolean equals(Object obj)

      Overrides:
        `equals` in class `Object`

    - #### add

          public void add(int doc)

      Description copied from interface: `DocSet`
      Adds the specified document if it is not currently in the DocSet (optional operation).
      Specified by:
        `add` in interface `DocSet`
      Throws:
        `SolrException` - Base implementation does not allow modifications
      See Also:
        `DocSet.addUnique(int)`

    - #### addUnique

          public void addUnique(int doc)

      Description copied from interface: `DocSet`
      Adds a document the caller knows is not currently in the DocSet (optional operation).

      This method may be faster then `add(doc)` in some implementations provided the caller is certain of the precondition.

      Specified by:
        `addUnique` in interface `DocSet`
      Throws:
        `SolrException` - Base implementation does not allow modifications
      See Also:
        `DocSet.add(int)`

    - #### union

          public DocSet union(DocSet other)

      Description copied from interface: `DocSet`
      Returns the union of this set with another set. Neither set is modified - a new DocSet is created and returned.
      Specified by:
        `union` in interface `DocSet`
      Returns:
        a DocSet representing the union

    - #### unionSize

          public int unionSize(DocSet other)

      Description copied from interface: `DocSet`
      Returns the number of documents of the union of this set with another set. May be more efficient than actually creating the union and then getting its size.
      Specified by:
        `unionSize` in interface `DocSet`

    - #### andNotSize

          public int andNotSize(DocSet other)

      Description copied from interface: `DocSet`
      Returns the number of documents in this set that are not in the other set.
      Specified by:
        `andNotSize` in interface `DocSet`

    - #### close

          public void close()
                     throws IOException

      FUTURE: for off-heap
      Specified by:
        `close` in interface `Closeable`
      Specified by:
        `close` in interface `AutoCloseable`
      Throws:
        `IOException`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.