org.neo4j.index.impl.lucene
Class Hits

java.lang.Object
  extended by org.neo4j.index.impl.lucene.Hits

public final class Hits
extends Object

A ranked list of documents, used to hold search results.

Caution: Iterate only over the hits needed. Iterating over all hits is generally not desirable and may be the source of performance issues.

Note: Deleting matching documents concurrently with traversing the hits, might, when deleting hits that were not yet retrieved, decrease length(). In such case, ConcurrentModificationException is thrown when accessing hit n ≥ current_length() (but n < length()_at_start). see Searcher.search(org.apache.lucene.search.Query , int), Searcher.search(org.apache.lucene.search.Query , org.apache.lucene.search.Filter , int) and Searcher.search(org.apache.lucene.search.Query , org.apache.lucene.search.Filter , int, org.apache.lucene.search.Sort):

   TopDocs topDocs = searcher.search(query, numHits);
   ScoreDoc[] hits = topDocs.scoreDocs;
   for (int i = 0; i < hits.length; i++) {
     int docId = hits[i].doc;
     Document d = searcher.doc(docId);
     // do something with current hit
     ...
 


Constructor Summary
Hits(org.apache.lucene.search.IndexSearcher s, org.apache.lucene.search.Query q, org.apache.lucene.search.Filter f)
           
Hits(org.apache.lucene.search.IndexSearcher s, org.apache.lucene.search.Query q, org.apache.lucene.search.Filter f, org.apache.lucene.search.Sort o, boolean score)
           
 
Method Summary
 org.apache.lucene.document.Document doc(int n)
          Returns the stored fields of the nth document in this set.
 int id(int n)
          Returns the id for the nth document in this set.
 int length()
          Returns the total number of hits available in this set.
 float score(int n)
          Returns the score for the nth document in this set.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Hits

public Hits(org.apache.lucene.search.IndexSearcher s,
            org.apache.lucene.search.Query q,
            org.apache.lucene.search.Filter f)
     throws IOException
Throws:
IOException

Hits

public Hits(org.apache.lucene.search.IndexSearcher s,
            org.apache.lucene.search.Query q,
            org.apache.lucene.search.Filter f,
            org.apache.lucene.search.Sort o,
            boolean score)
     throws IOException
Throws:
IOException
Method Detail

length

public final int length()
Returns the total number of hits available in this set.


doc

public final org.apache.lucene.document.Document doc(int n)
                                              throws org.apache.lucene.index.CorruptIndexException,
                                                     IOException
Returns the stored fields of the nth document in this set.

Documents are cached, so that repeated requests for the same element may return the same Document object.

Throws:
org.apache.lucene.index.CorruptIndexException - if the index is corrupt
IOException - if there is a low-level IO error

score

public final float score(int n)
                  throws IOException
Returns the score for the nth document in this set.

Throws:
IOException

id

public final int id(int n)
             throws IOException
Returns the id for the nth document in this set. Note that ids may change when the index changes, so you cannot rely on the id to be stable.

Throws:
IOException


Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.