Interface DocSet

  • All Superinterfaces:
    org.apache.lucene.util.Accountable, Cloneable
    All Known Subinterfaces:
    DocList
    All Known Implementing Classes:
    BitDocSet, DocSlice, HashDocSet, SortedIntDocSet

    public interface DocSet
    extends org.apache.lucene.util.Accountable, Cloneable
    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 Description
      static DocSet EMPTY  
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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.
      DocSet clone()  
      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 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.