lucene-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Peter T. Brown" <pe...@headlesshunter.com>
Subject Using Custom Analyzer to create case sensitive queries
Date Thu, 04 Aug 2005 17:15:07 GMT
I have a custom analyzer I've created so that certain fields, which are
indexed as Keywords, can be search exactly as they are typed in. Using this
custom analyzer however produces not hits. Using Luke, I can see that the
field values are identical to the values passed in on the query...

My query is: class.name:(someCaseSensitiveString.that.Can.include.Periods)


My custom Analyzer:

    public static class DefaultAnalyzer extends Analyzer {
        public TokenStream tokenStream(String fieldName, Reader reader) {
            LOG.debug("analyzing: " + fieldName);

            if ("class.name".equals(fieldName)) {
                LOG.debug("not analyzing");
                return new CharTokenizer(reader) {
                    protected boolean isTokenChar(char c) {
                        return true;
                    }
                };
            } else {
                LOG.debug("analyzing");
                StandardTokenizer tokenizer = new StandardTokenizer(reader);
                TokenStream result = null;
                result = new LowerCaseFilter(tokenizer);
                result = new StopFilter(result,
StopAnalyzer.ENGLISH_STOP_WORDS);
                result = new PorterStemFilter(result);
                return result;
            }
        }
    }




Any ideas?


Thank You



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


Mime
View raw message