Gwyn - this is a question for java-user@ list, I'm answering there. Perhaps you can write your own QueryParser.jj variant and change it so it has explicit knowledge of your indef fields. Then, if it parses "foo:...." and "foo" is not one of the fields it knows about, it could escape the column character on behalf of the user.
If you do this, and it works out, plese share a patch. This issue was just raised on one of the projects where I'm using Lucene, and this was going to be my first way of dealing with the problem. Otis ----- Original Message ---- From: Gwyn Carwardine <[EMAIL PROTECTED]> To: java-dev@lucene.apache.org Sent: Sat 21 Jan 2006 08:10:56 AM EST Subject: Handling of colons in QueryParserTokenManager Hello, I'm new here. I've actually started using dotLucene but I think I need to make a change to the QueryParser but it's so complicated to try and understand what it's doing I thought I'd ask if maybe one of you guys could point me in the right direction? In my implementation of Lucene I have the need to store keywords that are of the form "<key>:<identity>" for example CI:123. Whilst I can store this in Lucene using Field.Keyword("ID","CI:123") I can't easily look it up by using QueryParser which I need to do. Whenever I parse the query ID:CI:123 it parses it as "ID:ci". Now I've already made a small hack so that non-tokenized values are indexed as lowercase so at least I can get them back if I use ID:CI\:123 but colons are commonly used and I really don't want to have to escape them everywhere What I want to achieve is that query parser will parse ID:CI:123 as field(ID) value(CI:123). I understand that colon is a special character but it's only used to delimit fields and values in which case it makes sense to react to the first colon, the second colon should be treated as part of the text which the analyzer could strip out or keep (in my case because I'm using a custom analyzer). Does this make sense? How do I go about changing the QueryParserTokenManager to achieve this? Perhaps you can point me to some documentation that describes the code even? Any help gratefully received! Thanks, Gwyn Carwardine --------------------------------------------------------------------- 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]