范例:http://blog.csdn.net/jyf211314/article/details/17503997
同义词词典:
import java.io.IOException;
import java.io.Reader;
import java.util.HashMap;
import java.util.Map;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.Tokenizer;
import org.apache.lucene.analysis.synonym.SynonymFilterFactory;
import org.apache.solr.core.SolrResourceLoader;
import org.wltea.analyzer.lucene.IKTokenizer;
public class IKSynonymsAnalyzer extends Analyzer {
protected TokenStreamComponents createComponents(String arg0, Reader arg1) {
Tokenizer token=new IKTokenizer(arg1, true);//开启智能切词
Map paramsMap=new HashMap();
paramsMap.put("luceneMatchVersion", "LUCENE_43");
paramsMap.put("synonyms", "data/synonyms.txt");
SynonymFilterFactory factory=new SynonymFilterFactory(paramsMap);
SolrResourceLoader loader= new SolrResourceLoader("");
try {
factory.inform(loader);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new TokenStreamComponents(token, factory.create(token));
}
}
原文:http://www.cnblogs.com/limpek/p/4042120.html