HashDocSet (Solr 3.6.2 API)
Keywords: org.apache.solr.search.HashDocSet class

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.solr.search
Class HashDocSet

    java.lang.Object
      org.apache.solr.search.HashDocSet

All Implemented Interfaces:
  DocSet

    public final class HashDocSet

extends Object

`HashDocSet` represents an unordered set of Lucene Document Ids using a primitive int hash table. It can be a better choice if there are few docs in the set because it takes up less memory and is faster to iterate and take set intersections.

Since:
  solr 0.9
Version:
  $Id: HashDocSet.java 790938 2009-07-03 15:09:21Z yonik $

Constructor Summary
`HashDocSet(int[] docs, int offset, int len)` Create a HashDocSet from a list of *unique* ids
`HashDocSet(int[] docs, int offset, int len, float inverseLoadFactor)` Create a HashDocSet from a list of *unique* ids

Method Summary
`void` | `add(int doc)` Adds the specified document if it is not currently in the DocSet (optional operation).
`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` | `equals(Object obj)`
`boolean` | `exists(int doc)` Returns true if a document is in the DocSet.
`OpenBitSet` | `getBits()` Inefficient base implementation.
`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.
`DocIterator` | `iterator()` Returns an iterator that may be used to iterate over all of the documents in the set.
`long` | `memSize()` Returns the approximate amount of memory taken by this DocSet.
`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 class java.lang.Object
`clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HashDocSet

    public HashDocSet(int[] docs,
                      int offset,
                      int len)

  Create a HashDocSet from a list of *unique* ids

### HashDocSet

    public HashDocSet(int[] docs,
                      int offset,
                      int len,
                      float inverseLoadFactor)

  Create a HashDocSet from a list of *unique* ids

Method Detail

### exists

    public boolean exists(int doc)

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

### size

    public int size()

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

### 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

### memSize

    public long memSize()

  Description copied from interface: `DocSet`
  Returns the approximate amount of memory taken by this DocSet. This is only an approximation and doesn't take into account java object overhead.

  Returns:
    the approximate memory consumption in bytes

### 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

### 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 it's size.

  Specified by:
    `intersectionSize` in interface `DocSet`

### 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

### 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

### 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 implementaions 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)`

### getBits

    public OpenBitSet getBits()

  Inefficient base implementation.

  Specified by:
    `getBits` in interface `DocSet`
  Returns:
    An OpenBitSet with the bit number of every docid set in the set.
  See Also:
    `BitDocSet.getBits()`

### 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 it's 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`

### 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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD