lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler" <>
Subject RE: Searcher javadoc problem
Date Sat, 03 Oct 2009 22:08:10 GMT
Writing a Collector is the correct and fastest way to do this. The Javadoc
pointing to deprec API is incorrect.

Uwe Schindler
H.-H.-Meier-Allee 63, D-28213 Bremen


From: DM Smith [] 
Sent: Sunday, October 04, 2009 12:04 AM
Subject: Searcher javadoc problem


I'm working on migrating my code to 2.9. And I'm trying to figure out what
to do. Along the way I found a circular argument in the JavaDoc for
Searcher. BTW, this is not a user question.


My current code calls:

                Hits hits =;


The JavaDoc for it says:

  /** Returns the documents matching <code>query</code>. 

   * @throws BooleanQuery.TooManyClauses

   * @deprecated Hits will be removed in Lucene 3.0. Use

   * {@link #search(Query, Filter, int)} instead.


  public final Hits search(Query query) throws IOException {

    return search(query, (Filter)null);



However, search(Query, Filter, int) is not quite appropriate as I need all
hits. I guess I could pass null for filter and MAX_INT.


So, I found search(Query, Collector), which seems most appropriate. (Not
sure though, but I'll figure it out.) However, the JavaDoc for it says:

  /** Lower-level search API.


  * <p>{@link Collector#collect(int)} is called for every matching document.


  * <p>Applications should only use this if they need <i>all</i> of the

  * matching documents.  The high-level search API ({@link

  * Searcher#search(Query)}) is usually more efficient, as it skips

  * non-high-scoring hits.

  * <p>Note: The <code>score</code> passed to this method is a raw score.

  * In other words, the score will not necessarily be a float whose value is

  * between 0 and 1.

  * @throws BooleanQuery.TooManyClauses


 public void search(Query query, Collector results)

   throws IOException {

   search(createWeight(query), null, results);



But is deprecated.


So what is the appropriate documentation for getting all "hits"? Seems to
say, "Don't do that"


-- DM



View raw message