lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Muir (JIRA)" <j...@apache.org>
Subject [jira] Updated: (LUCENE-2262) QueryParser should now allow leading '?' wildcards
Date Sun, 14 Feb 2010 03:18:27 GMT

     [ https://issues.apache.org/jira/browse/LUCENE-2262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Robert Muir updated LUCENE-2262:
--------------------------------

    Description: 
QueryParser currently throws an exception if a wildcard term begins with the '?' operator.

The current documentation describes why this is:
{noformat}
When set, * or ? are allowed as the first character of a PrefixQuery and WildcardQuery.
Note that this can produce very slow queries on big indexes. 
{noformat}

In the flexible indexing branch, wildcard queries with leading '?' operator are no longer
slow on big indexes (they do not enumerate terms in linear fashion).
Thus, it no longer makes sense to throw a ParseException for a leading '?'

So, users should be able to perform a query of "?foo" and no longer get a ParseException from
the QueryParser.

For the flexible indexing branch, wildcard queries of  'foo?', '?foo', 'f?oo', etc are all
the same from a performance perspective.

  was:
QueryParser currently throws an exception if a wildcard term begins with the ? operator.

The docs say this:
{noformat}
When set, * or ? are allowed as the first character of a PrefixQuery and WildcardQuery.
Note that this can produce very slow queries on big indexes. 
{noformat}

In the flex branch, this is no longer true. foo?, ?foo, f?oo, these are all the same from
a performance perspective.


update description to be less terse

> QueryParser should now allow leading '?' wildcards
> --------------------------------------------------
>
>                 Key: LUCENE-2262
>                 URL: https://issues.apache.org/jira/browse/LUCENE-2262
>             Project: Lucene - Java
>          Issue Type: Improvement
>          Components: QueryParser
>    Affects Versions: Flex Branch
>            Reporter: Robert Muir
>            Assignee: Robert Muir
>            Priority: Minor
>             Fix For: Flex Branch
>
>         Attachments: LUCENE-2262.patch, LUCENE-2262_backwards.patch
>
>
> QueryParser currently throws an exception if a wildcard term begins with the '?' operator.
> The current documentation describes why this is:
> {noformat}
> When set, * or ? are allowed as the first character of a PrefixQuery and WildcardQuery.
> Note that this can produce very slow queries on big indexes. 
> {noformat}
> In the flexible indexing branch, wildcard queries with leading '?' operator are no longer
slow on big indexes (they do not enumerate terms in linear fashion).
> Thus, it no longer makes sense to throw a ParseException for a leading '?'
> So, users should be able to perform a query of "?foo" and no longer get a ParseException
from the QueryParser.
> For the flexible indexing branch, wildcard queries of  'foo?', '?foo', 'f?oo', etc are
all the same from a performance perspective.

-- 
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: java-dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message