lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matthew King <ma...@gnik.com>
Subject literal operator?
Date Wed, 29 Jan 2003 17:52:33 GMT
I just ran into a little problem while trying to query for a document 
looking for a term that had been indexed using a Keyword field...

My application is using the StandardAnalyzer and the QueryParser to 
search the index, so my query looked something like this:

   kw:FOOBAR

not surprisingly (now that I know what's going on) I wasn't getting any 
hits from this search (because the QueryParser was normalizing the 
query term be "foobar" when it had been indexed as "FOOBAR")

I know that i could create my own query to search for "FOOBAR", but it 
seems reasonable to add a LITERAL operator so that keywords can be 
searched using the QueryParser, no?

Here's the diff for my stab at implementing it:

diff -r1.25 QueryParser.jj
319c319
<                           "[", "]", "\"", "{", "}", "~", "*", "?" ] >
---
 >                           "[", "]", "\"", "{", "}", "~", "*", "?", 
"'" ] >
321c321
<                            "[", "]", "\"", "{", "}", "~", "*", "?" ]
---
 >                            "[", "]", "\"", "{", "}", "~", "*", "?", 
"'" ]
350a351
 > | <LITERAL:    "'" (~["'"])+ "'">
527a529,533
 >        }
 >      | term=<LITERAL>
 >        [ <CARAT> boost=<NUMBER> ]
 >        {
 >          q = new TermQuery(new Term(field, term.image.substring(1, 
term.image.length()-1)));

I'm not so sure I like using the single quote here, but it was 
available...

What do people think?  Is this useful to others?

- matt


---------------------------------------------------------------------
To unsubscribe, e-mail: lucene-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: lucene-dev-help@jakarta.apache.org


Mime
View raw message