lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hostetter <>
Subject RE: BooleanQuery.TooManyClauses on MultiSearcher
Date Thu, 15 Jun 2006 15:49:42 GMT

: I guess the most expensive thing I'm doing from the perspective of Boolean
: clauses is heavily using PrefixQuery.
: I want my user to be able to find e-mail to, cc or from james@anydomain, so
: I opted for PrefixQuery on James. Bearing in mind that this is causing me
: grief with BooleanQuery.TooManyClauses on my MultiSearcher, is there a
: smarter approach that I should be adopting?

if the only reason you are using a PrefixQuery is so that searchinging for
"james" matches "" then i think MDC is right, split that
field up (or have one field, but put three terms in "james", ""
and "") .. but if you genuinely need flexible PrefixQuery
support, you may want to look at the ConstantScorePrefixQuery in Solr ...
there's nothing Solr specific about it, so you could drop it into your
Lucene installation.  I'm not entirely sure how well the
ConstantScoreQueries work with a MultiSearcher (mainly because i odn't
know how well Filter's work with MultiSearchers) but you could give it a
try -- it certainly won't have a TooManyClauses problem.

: -----Original Message-----
: From: Rob Staveley (Tom) []
: Sent: 15 June 2006 14:51
: To:
: Subject: BooleanQuery.TooManyClauses on MultiSearcher
: I've just added a 3rd index directory (i.e. 3rd IndexSearcher) to my
: MultiSearcher and I'm getting BooleanQuery.TooManyClauses errors on queries
: which were working happily on 2 indexes.
: Here's an example query, which hopefully you'll find self-explanatory from
: the XML structure.
: --------8<--------
: <composite-query analyzer='1'>
: 	<group required="true" prohibited="false">
: 		<group required="false" prohibited="false">
: 			<prefix field="to" required="false"
: prohibited="false">james</prefix>
: 			<prefix field="cc" required="false"
: prohibited="false">james</prefix>
: 			<prefix field="smtp-rcptto" required="false"
: prohibited="false">james</prefix>
: 			<prefix field="from" required="false"
: prohibited="false">james</prefix>
: 			<prefix field="smtp-mailfrom" required="false"
: prohibited="false">james</prefix>
: 		</group>
: 		<parse field="body" required="false"
: prohibited="false">james</parse>
: 		<parse field="subject" required="false"
: prohibited="false">james</parse>
: 	</group>
: </composite-query>
: --------8<--------
: Note that there isn't even a range in there.
: Do BooleanQueries not scale well across indexes?


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

View raw message