lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Erick Erickson" <erickerick...@gmail.com>
Subject Re: QueryParser, PrefixQuery, and case sensitivity
Date Sat, 05 May 2007 00:01:05 GMT
Look at PerFieldAnalyzerWrapper. It allows you to use different
analyzers on different fields during the query parsing phase.

But I wouldn't go there if you don't have to. I suspect you'll spend a
LOT of time tracking down errors in your use of a mixed case index.
If for no other reason than your users will use the "wrong" case.

Unless your index is huge (and I don't consider, say, 8G huge), I'd
index everything in, say, lower case. And ditto for your query
parsing.

If you need to return data to the user in mixed case, then you can
*store* (but perhaps not *index*) the display fields. So you search
on one field and return data from another.

Best
Erick

On 5/4/07, Bill Au <bill.w.au@gmail.com> wrote:
>
> I have an index with both fields that are case sensitive and
> insensitive.  I
> am trying to use a QueryParser to accept query from end users for
> searching.  The default behavior of QueryParser is to lowercase the prefix
> text to create the PrefixQuery.  So wildcard search on the case sensitive
> fields does not work.  If I use QueryParser.setLowercaseWildcardTerm
> (false),
> then wildcard search on the case insensitive fields does not work.
>
> Here is an example with two fields, name (case sensitive) and desc (case
> insensitive).  The docment is
>
> name (case sensitive): PowerBook
> desc (case insensitive): professional  mac laptop
>
> I want to be able to find the document with the following query:
>
> +name:Power* +field:Pro*
>
> Bill
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message