[
https://issues.apache.org/jira/browse/LUCENE-504?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Uwe Schindler updated LUCENE-504:
---------------------------------
Attachment: LUCENE-504.patch
Here a patch, that fixes FuzzyQuery. It uses j.u.PQ and has a small
optimization to not add ScoreTerms, that would never be seen in the first
maxClauseCount terms (tracking a bottom value).
It also adds an testcase, where the maxClauseCount is lowerd downto 2 and the
FuzzyQuery would hit 3 terms, so one too much. This tests the algorithm to not
add this entry to the PQ.
Nadav: The solution you propsed for limiting the number of entries in the PQ
does not work, as poll() removes the head element of the queue, not the bottom
that falls out. There is no way to remove the bottom value in Java's PQ easily.
So we should j.u.PQ only for this issue.
> FuzzyQuery produces a "java.lang.NegativeArraySizeException" in
> PriorityQueue.initialize if I use Integer.MAX_VALUE as
> BooleanQuery.MaxClauseCount
> --------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: LUCENE-504
> URL: https://issues.apache.org/jira/browse/LUCENE-504
> Project: Lucene - Java
> Issue Type: Bug
> Components: Search
> Affects Versions: 1.9
> Reporter: Joerg Henss
> Priority: Minor
> Attachments: BooleanQuery.java.diff, fuzzyquery.patch,
> LUCENE-504.patch, LUCENE-504.patch, PriorityQueue.java.diff,
> TestFuzzyQueryError.java
>
>
> PriorityQueue creates an "java.lang.NegativeArraySizeException" when
> initialized with Integer.MAX_VALUE, because Integer overflows. I think this
> could be a general problem with PriorityQueue. The Error occured when I set
> BooleanQuery.MaxClauseCount to Integer.MAX_VALUE and user a FuzzyQuery for
> searching.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]