org.modeshape.jcr.query.lucene.basic
Class BasicTupleCollector
java.lang.Object
org.apache.lucene.search.Collector
org.modeshape.jcr.query.lucene.LuceneQueryEngine.TupleCollector
org.modeshape.jcr.query.lucene.basic.BasicTupleCollector
@NotThreadSafe
public class BasicTupleCollector
- extends LuceneQueryEngine.TupleCollector
The BasicLuceneSchema
does not store any fields in the indexes, with the exception of the document identifier in which
we're storing the key of the node that the document represents. Thus, in order to provide for each document the column values
for each tuple, this collector looks up the CachedNode
for each tuple using the QueryContext
's
RepositoryCache
and then finds the property value for each required column.
In all cases, only the persisted workspace content appears in the indexes, so every Lucene Query
only operates against
this persisted content. However, the query results might reflect either only the persisted workspace content or the session's
view of the content (which includes both its transient state as well as the persisted workspace content), depending upon
whether the QueryContext's NodeCache is actually a WorkspaceCache
or a SessionCache
.
This class's constructor prepares the information that's ncessary to access the tuple values as fast as possible.
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BasicTupleCollector
public BasicTupleCollector(QueryContext queryContext,
QueryResults.Columns columns)
setScorer
public void setScorer(org.apache.lucene.search.Scorer scorer)
- Specified by:
setScorer
in class org.apache.lucene.search.Collector
setNextReader
public void setNextReader(org.apache.lucene.index.IndexReader reader,
int docBase)
- Specified by:
setNextReader
in class org.apache.lucene.search.Collector
acceptsDocsOutOfOrder
public boolean acceptsDocsOutOfOrder()
- Specified by:
acceptsDocsOutOfOrder
in class org.apache.lucene.search.Collector
doCollect
public float doCollect(int doc)
throws IOException
- Specified by:
doCollect
in class LuceneQueryEngine.TupleCollector
- Throws:
IOException
getTuples
public List<Object[]> getTuples()
- Description copied from class:
LuceneQueryEngine.TupleCollector
- Get the tuples.
- Specified by:
getTuples
in class LuceneQueryEngine.TupleCollector
- Returns:
- the tuples; never null
Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.