类WordnetSynonymParser如何获取数据库wordnet的同义词映射?我看到那里有WordnetSynonimParser类,但不知道它是否适合我的目的,即通过WordNet中的同义词扩展查询。
最佳答案
WordnetSynonymParser
是SynonymMap.Builder
。将适当的Reader
添加到解析器后,调用build()
以获取SynonymMap
,该CC将传递到SynonymnFilter
的构造函数中。然后应将该过滤器定义为Analyzer
的一部分,类似于Analyzer documentation中的示例。
就像是:
Analyzer analyzer = new Analyzer() {
@Override
protected TokenStreamComponents createComponents(String fieldName, Reader reader) {
Tokenizer source = new FooTokenizer(reader);
TokenStream filter = new FooFilter(source);
//etc...
WordnetSynonymParser parser = new WordnetSynonymParser(true, false, analyzer);
parser.add(wordnetReader);
filter = new SynonymFilter(filter, parser.build(), true);
return new TokenStreamComponents(source, filter);
}
};