org.apache.solr.search

## Interface DocSet

- All Superinterfaces:
    Accountable, AutoCloseable, Closeable
  All Known Subinterfaces:
    DocList
  All Known Implementing Classes:
    BitDocSet, DocSlice, HashDocSet, SortedIntDocSet

      public interface DocSet
      extends Closeable, Accountable

  `DocSet` represents an unordered set of Lucene Document Ids.

  WARNING: Any DocSet returned from SolrIndexSearcher should not be modified as it may have been retrieved from a cache and could be shared.

  Since:
    solr 0.9

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static DocSet` | `EMPTY`

  - ### Method Summary

    All Methods Instance Methods Abstract 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.
    `int` | `andNotSize(DocSet other)` Returns the number of documents in this set that are not in the other set.
    `boolean` | `exists(int docid)` Returns true if a document is in the DocSet.
    `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.
    `int` | `intersectionSize(DocSet other)` Returns the number of documents of the intersection of this set with another set.
    `boolean` | `intersects(DocSet other)` Returns true if these sets have any elements in common
    `DocIterator` | `iterator()` Returns an iterator that may be used to iterate over all of the documents in the set.
    `int` | `size()` Returns the number of documents in the 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 interface java.io.Closeable

      `close`

    - ### Methods inherited from interface org.apache.lucene.util.Accountable

      `getChildResources, ramBytesUsed`

- - ### Field Detail

    - #### EMPTY

          static final DocSet EMPTY

  - ### Method Detail

    - #### add

          void add(int doc)

      Adds the specified document if it is not currently in the DocSet (optional operation).
      Throws:
        `SolrException` - if the implementation does not allow modifications
      See Also:
        `addUnique(int)`

    - #### addUnique

          void addUnique(int doc)

      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.

      Throws:
        `SolrException` - if the implementation does not allow modifications
      See Also:
        `add(int)`

    - #### size

          int size()

      Returns the number of documents in the set.

    - #### exists

          boolean exists(int docid)

      Returns true if a document is in the DocSet.

    - #### iterator

          DocIterator iterator()

      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

    - #### intersection

          DocSet intersection(DocSet other)

      Returns the intersection of this set with another set. Neither set is modified - a new DocSet is created and returned.
      Returns:
        a DocSet representing the intersection

    - #### intersectionSize

          int intersectionSize(DocSet other)

      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.

    - #### intersects

          boolean intersects(DocSet other)

      Returns true if these sets have any elements in common

    - #### union

          DocSet union(DocSet other)

      Returns the union of this set with another set. Neither set is modified - a new DocSet is created and returned.
      Returns:
        a DocSet representing the union

    - #### unionSize

          int unionSize(DocSet other)

      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.

    - #### andNot

          DocSet andNot(DocSet other)

      Returns the documents in this set that are not in the other set. Neither set is modified - a new DocSet is created and returned.
      Returns:
        a DocSet representing this AND NOT other

    - #### andNotSize

          int andNotSize(DocSet other)

      Returns the number of documents in this set that are not in the other set.

    - #### getTopFilter

          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.

    - #### addAllTo

          void addAllTo(DocSet target)

      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.

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