[ http://issues.apache.org/jira/browse/LUCENE-306?page=all ]
Bernhard Messer closed LUCENE-306:
----------------------------------
Resolution: Fixed
Assign To: (was: Lucene Developers)
WildcardQuery doesn't match 'cat' for queries like 'ca??' anylonger.
> [PATCH]multiple wildcards ? at the end of search pattern return incorrect hits
> ------------------------------------------------------------------------------
>
> Key: LUCENE-306
> URL: http://issues.apache.org/jira/browse/LUCENE-306
> Project: Lucene - Java
> Type: Bug
> Components: Search
> Versions: 1.4
> Environment: Operating System: other
> Platform: Other
> Reporter: Xiaozheng Ma
>
> The problem is if you search on "ca??", the hit includes 'cat', 'CA',
> etc, while the user only wants 4 letter words start with CA, such as
> 'card', 'cash', to be returned. This happens only when multiple '?' at
> the end of search pattern. The solution is to check if the word that is
> matching against search pattern ends while there is still '?' left. If
> this is the case, match should return false.
> Attached is the patch code I generated use 'diff'
> ********************************************************************
> --- WildcardTermEnum.org 2004-05-11 11:42:10.000000000 -0400
> +++ WildcardTermEnum.java 2004-11-08 14:35:14.823610500 -0500
> @@ -132,6 +132,10 @@
> }
> else
> {
> + //to prevent "cat" matches "ca??"
> + if(wildchar == WILDCARD_CHAR){
> + return false;
> + }
> // Look at the next character
> wildcardSearchPos++;
> }
> **********************************************************************
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]