lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simon Willnauer <>
Subject Re: Prefix Query for autocomplete - TooManyClauses
Date Fri, 13 Nov 2009 14:12:03 GMT
Anjana, maybe I don't understand you question correctly but what you
want to do is a spell suggestion kind of thing on terms in the index,
right? You try to use prefix query to display those terms as an
auto-completion?!  So I assume that what you do is run a query and
then get the possible terms from the stored values?!

If I understand you correctly, wouldn't it be easier to just iterate
the first n terms starting with your prefix? That should be quite fast
and easy to implement if that would fit your requirements.


On Fri, Nov 13, 2009 at 2:50 PM, Anjana Sarkar <> wrote:
> We are using lucene for one our projects here and has been working very well
> for last 2 years.
> The new requirement is to use it for autocomplete. Here , queries like a* or
> ab* pose a problem.
> I have set BooleanQuery.setMaxClauseCount( Integer.MAX_VALUE ) to get around
> the TooManyClausesException.
> The issue now is performance is not acceptable. It takes about 3 secs for a*
> query to return results.
> I have 250,000 documents , each document is 5 - 15 words in the indexed
> field and am using StandardAnalyzer. I have tried using a filter,
> since in this case, I am only interested in documents with a boost higher
> than a certain number. I had
> the boost value as a separate lucene indexed field so I can filter on it.
> I realized that the filtering is only applied after the boolean query is
> prepared and scored, so there is no performance benefit with using that
> approach.
> I cannot use a ConstantScoreQuery as I need the top n matches for the query.
> Any suggestions on how I can get around this issue will be highly
> appreciated.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message