Hi all,
I'm porting few classes from 4.8.1 to the newer version of Lucene. I can't
understand how to convert this code, I hope you can help me:
public Analyzer creaAnalyzer() {
return new Analyzer() {
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader
arg1) {
Tokenizer tokenizer = new WhitespaceTokenizer(Version.LUCENE_CURRENT, arg1);
TokenStream result = new LowerCaseFilter(Version.LUCENE_CURRENT, tokenizer);
boolean ignorecase=true;
result = new SynonymFilter(result, creazioneDizionario(), ignorecase);
return new TokenStreamComponents(tokenizer,result);
}
};
}
My proposal is this:
public Analyzer creaAnalyzer() {
return new Analyzer() {
@Override
+ protected TokenStreamComponents createComponents(String fieldName) {
+ Tokenizer tokenizer = new WhitespaceTokenizer();
+ tokenizer.setReader(reader);
+ TokenStream result = new LowerCaseFilter(tokenizer);
boolean ignorecase=true;
result = new SynonymFilter(result, creazioneDizionario(), ignorecase);
return new TokenStreamComponents(tokenizer,result);
}
};
}
but I can't understand how to pass the "reader" to the analyzer and then to
the WhitespaceTokenizer.
Am I wrong? What do you suggest me?
Thanks in advance for your help.
Vincenzo