|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object it.unimi.di.mg4j.search.AbstractDocumentIterator it.unimi.di.mg4j.search.AbstractIntervalDocumentIterator it.unimi.di.mg4j.search.AbstractCompositeDocumentIterator it.unimi.di.mg4j.search.AbstractUnionDocumentIterator it.unimi.di.mg4j.search.OrDocumentIterator
public class OrDocumentIterator
An iterator on documents that returns the OR of a number of document iterators.
This class adds to AbstractUnionDocumentIterator
an interval iterator generating the OR of the intervals returned for each of the documents involved.
Nested Class Summary | |
---|---|
protected class |
OrDocumentIterator.OrIndexIntervalIterator
|
protected class |
OrDocumentIterator.OrIntervalIterator
|
Nested classes/interfaces inherited from class it.unimi.di.mg4j.search.AbstractUnionDocumentIterator |
---|
AbstractUnionDocumentIterator.IntHeapSemiIndirectPriorityQueue |
Nested classes/interfaces inherited from class it.unimi.di.mg4j.search.AbstractCompositeDocumentIterator |
---|
AbstractCompositeDocumentIterator.AbstractCompositeIndexIntervalIterator, AbstractCompositeDocumentIterator.AbstractCompositeIntervalIterator |
Field Summary |
---|
Fields inherited from class it.unimi.di.mg4j.search.AbstractUnionDocumentIterator |
---|
front, frontSize, queue, refArray |
Fields inherited from class it.unimi.di.mg4j.search.AbstractCompositeDocumentIterator |
---|
documentIterator, indexIterator, indexIteratorsWithoutPositions, n |
Fields inherited from class it.unimi.di.mg4j.search.AbstractIntervalDocumentIterator |
---|
currentIterators, indices, intervalIterators, soleIndex, soleIntervalIterator, unmodifiableCurrentIterators |
Fields inherited from class it.unimi.di.mg4j.search.AbstractDocumentIterator |
---|
curr, weight |
Fields inherited from interface it.unimi.di.mg4j.search.DocumentIterator |
---|
END_OF_LIST |
Constructor Summary | |
---|---|
protected |
OrDocumentIterator(DocumentIterator... documentIterator)
|
Method Summary | |
---|---|
void |
dispose()
Disposes this document iterator, releasing all resources. |
static DocumentIterator |
getInstance(DocumentIterator... documentIterator)
Returns a document iterator that computes the OR of the given nonzero-length array of iterators. |
static DocumentIterator |
getInstance(Index index,
DocumentIterator... documentIterator)
Returns a document iterator that computes the OR of the given array of iterators. |
protected IntervalIterator |
getIntervalIterator(Index index,
int n,
boolean allIndexIterators,
Object unused)
Creates an interval iterator suitable for this AbstractIntervalDocumentIterator . |
IntervalIterator |
intervalIterator()
Returns the interval iterator of this document iterator for single-index queries. |
IntervalIterator |
intervalIterator(Index index)
Returns the interval iterator of this document iterator for the given index. |
Methods inherited from class it.unimi.di.mg4j.search.AbstractUnionDocumentIterator |
---|
acceptOnTruePaths, computeFront, intervalIterators, nextDocument, skipTo |
Methods inherited from class it.unimi.di.mg4j.search.AbstractCompositeDocumentIterator |
---|
accept, toString |
Methods inherited from class it.unimi.di.mg4j.search.AbstractIntervalDocumentIterator |
---|
allIndexIterators, indices, indices |
Methods inherited from class it.unimi.di.mg4j.search.AbstractDocumentIterator |
---|
document, ensureOnADocument, mayHaveNext, weight, weight |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface it.unimi.di.mg4j.search.DocumentIterator |
---|
accept, acceptOnTruePaths, document, indices, intervalIterators, mayHaveNext, nextDocument, skipTo, weight, weight |
Constructor Detail |
---|
protected OrDocumentIterator(DocumentIterator... documentIterator) throws IOException
IOException
Method Detail |
---|
public static DocumentIterator getInstance(Index index, DocumentIterator... documentIterator) throws IOException
Note that the special case of the empty and of the singleton arrays are handled efficiently.
index
- the default index; relevant only if documentIterator
has zero length.documentIterator
- the iterators to be joined.
documentIterator
.
IOException
public static DocumentIterator getInstance(DocumentIterator... documentIterator) throws IOException
Note that the special case of the singleton array is handled efficiently.
documentIterator
- the iterators to be joined.
documentIterator
.
IOException
protected IntervalIterator getIntervalIterator(Index index, int n, boolean allIndexIterators, Object unused)
AbstractIntervalDocumentIterator
AbstractIntervalDocumentIterator
.
getIntervalIterator
in class AbstractIntervalDocumentIterator
index
- the reference index for the iterator, or null
.n
- the number of underlying or component iterators.allIndexIterators
- whether all underlying or component iterators are index iterators.unused
- an optional argument.
AbstractIntervalDocumentIterator
.public IntervalIterator intervalIterator() throws IOException
DocumentIterator
This is a commodity method that can be used only for queries built over a single index.
intervalIterator
in interface DocumentIterator
IOException
DocumentIterator.intervalIterator(Index)
public IntervalIterator intervalIterator(Index index) throws IOException
DocumentIterator
After a call to DocumentIterator.nextDocument()
, this iterator
can be used to retrieve the intervals in the current document (the
one returned by DocumentIterator.nextDocument()
) for
the index index
.
Note that if all indices have positions, it is guaranteed that at least one index will return an interval. However, for disjunctive queries it cannot be guaranteed that all indices will return an interval.
Indices without positions always return IntervalIterators.TRUE
.
Thus, in presence of indices without positions it is possible that no
intervals at all are available.
intervalIterator
in interface DocumentIterator
index
- an index (must be one over which the query was built).
index
.
IOException
public void dispose() throws IOException
DocumentIterator
This method should propagate down to the underlying index iterators, where it should release resources such as open files and network connections. If you're doing your own resource tracking and pooling, then you do not need to call this method.
dispose
in interface DocumentIterator
dispose
in class AbstractCompositeDocumentIterator
IOException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |