Having a writers block here:

  /** Set the maximum number of clauses permitted per BooleanQuery.
   * Default value is 1024.
   * <p>TermQuery clauses are generated from for example prefix queries and
   * fuzzy queries. Each TermQuery needs some buffer space during search,
   * so this parameter indirectly controls the maximum buffer
requirements for
   * query search.
   * <p>When this parameter becomes a bottleneck for a Query one can use a
   * Filter. For example instead of a {...@link TermRangeQuery} one can use a
   * {...@link TermRangeFilter}.
   * <p>Normally the buffers are allocated by the JVM. When using for
example
   * {...@link org.apache.lucene.store.MMapDirectory} the buffering is left to
   * the operating system.
   */

Okay, so prefix and fuzzy queries now will use a constantscore mode
(indirectly, a filter) when it makes sense.
So this comment is misleading. And the parameter doesn't control the max
buffer - it possibly provides a top cutoff. But now it doesn't even
necessarily do that, because if the Query uses constantscore mode
(multi-term queries auto pick by default), this setting doesn't even
influence anything.

I started to rewrite below - but then it feels like I almost need to
start from scratch. I don't think we should claim this setting controls
the maximum buffer requirements for query search either - thats a bit
strong ;) And the buffer talk overall (including at the bottom) is a bit
confusing.


  /** Set the maximum number of clauses permitted per BooleanQuery.
   * Default value is 1024.
   * <p>For example, TermQuery clauses can be generated from prefix
queries and
   * fuzzy queries. Each TermQuery needs some buffer space during search,
   * so this parameter indirectly controls the maximum buffer
requirements for
   * query search.
   * <p>When this parameter becomes a bottleneck for a Query one can use a
   * Filter. For example instead of a {...@link TermRangeQuery} one can use a
   * {...@link TermRangeFilter}.
   * <p>Normally the buffers are allocated by the JVM. When using for
example
   * {...@link org.apache.lucene.store.MMapDirectory} the buffering is left to
   * the operating system.
   */

I'm tempted to make it:

/** Set the maximum number of clauses permitted per BooleanQuery.
   * Default value is 1024.
  */

:)

Anyone have any suggestions though?

-- 
- Mark

http://www.lucidimagination.com




---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to