Yes, I understand all of this, but I don't want to set it to MaxInt, since it 
can easily lead to
(even accidental) DoS attacks.

What I'm saying is that there is no reason for the optimizer to expand wild* to 
more than 1024
variations when I search for "somerareword AND wild*", since somerareword is 
only present in let's
say 100 documents, so wild* should only expand to words beginning with "wild" 
in those 100
documents, then it should work fine with the default 1024 clause limit.

But it doesn't, so I can choose between unuseable queries or accidental DoS 
attacks.

--- Will Allen <[EMAIL PROTECTED]> wrote:

> Any wildcard search will automatically expand your query to the number of 
> terms it find in the
> index that suit the wildcard.
> 
> For example:
> 
> wild*, would become wild OR wilderness OR wildman etc for each of the terms 
> that exist in your
> index.
> 
> It is because of this, that you quickly reach the 1024 limit of clauses.  I 
> automatically set it
> to max int with the following line:
> 
> BooleanQuery.setMaxClauseCount( Integer.MAX_VALUE );
> 
> 
> -----Original Message-----
> From: Sanyi [mailto:[EMAIL PROTECTED]
> Sent: Thursday, November 11, 2004 6:46 AM
> To: [EMAIL PROTECTED]
> Subject: Bug in the BooleanQuery optimizer? ..TooManyClauses
> 
> 
> Hi!
> 
> First of all, I've read about BooleanQuery$TooManyClauses, so I know that it 
> has a 1024 Clauses
> limit by default which is good enough for me, but I still think it works 
> strange.
> 
> Example:
> I have an index with about 20Million documents.
> Let's say that there is about 3000 variants in the entire document set of 
> this word mask: cab*
> Let's say that about 500 documents are containing the word: spectrum
> Now, when I search for "cab* AND spectrum", I don't expect it to throw an 
> exception.
> It should first restrict the search for the 500 documents containing the word 
> "spectrum", then
> it
> should collect the variants of "cab*" withing these documents, which turns 
> out in two or three
> variants of "cab*" (cable, cables, maybe some more) and the search should 
> return let's say 10
> documents.
> 
> Similar example: When I search for "cab* AND nonexistingword" it still throws 
> a TooManyClauses
> exception instead of saying "No results", since there is no "nonexistingword" 
> in my document
> set,
> so it doesn't even have to start collecting the variations of "cab*".
> 
> Is there any path for this issue?
> Thank you for your time!
> 
> Sanyi
> (I'm using: lucene 1.4.2)
> 
> p.s.: Sorry for re-sending this message, I was first sending it as an 
> accidental reply to a
> wrong thread..
> 
> 
>               
> __________________________________ 
> Do you Yahoo!? 
> Check out the new Yahoo! Front Page. 
> www.yahoo.com 
>  
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 



                
__________________________________ 
Do you Yahoo!? 
Check out the new Yahoo! Front Page. 
www.yahoo.com 
 


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

Reply via email to