Thanks Erik. Option 2 sounds like the path of least resistance.

Luke
----- Original Message ----- 
From: "Erik Hatcher" <[EMAIL PROTECTED]>
To: "Lucene Users List" <lucene-user@jakarta.apache.org>
Sent: Thursday, February 17, 2005 9:05 PM
Subject: Re: Query Question


> On Feb 17, 2005, at 5:51 PM, Luke Shannon wrote:
> > My manager is now totally stuck about being able to query data with * 
> > in it.
> 
> He's gonna have to wait a bit longer, you've got a slightly tricky 
> situation on your hands....
> 
> > WildcardQuery(new Term("name", "*home\**"));
> 
> The \* is the problem.  WildcardQuery doesn't deal with escaping like 
> you're trying.  Your query is essentially this now:
> 
> home\*
> 
> Where backslash has no special meaning at all... you're literally 
> looking for all terms that start with home followed by a backslash.  
> Two asterisks at the end really collapse into a single one logically.
> 
> > Any theories as to why the it would not match:
> >
> > Document (relevant fields):
> > Keyword<type:203>
> > Keyword<name:marcipan + home*>
> >
> > Is the \ escaping both * characters?
> 
> So, again, no escaping is being done here.  You're a bit stuck in this 
> situation because * (and ?) are special to WildcardQuery, and it does 
> no escaping.  Two options I think of:
> 
> - Build your own clone of WildcardQuery that does escaping - or 
> perhaps change the wildcard characters to something you do not index 
> and use those instead.
> 
> - Replace asterisks in the terms indexed with some other non-wildcard 
> character, then replace it on your queries as appropriate.
> 
> Erik
> 
> 
> ---------------------------------------------------------------------
> 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]

Reply via email to