: 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 [EMAIL PROTECTED], 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 "[EMAIL PROTECTED]" then i think MDC is right, split that
field up (or have one field, but put three terms in "james", "domain.com"
and "[EMAIL PROTECTED]") .. 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) [mailto:[EMAIL PROTECTED]
: Sent: 15 June 2006 14:51
: To: java-user@lucene.apache.org
: 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?
:



-Hoss


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to