wordnetsynonymengine.java

来自「LuceneInAction配套源码,LuceneInAction是对lucen」· Java 代码 · 共 43 行

JAVA
43
字号
package lia.analysis.synonym;import org.apache.lucene.document.Document;import org.apache.lucene.index.Term;import org.apache.lucene.search.Hits;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.TermQuery;import org.apache.lucene.store.FSDirectory;import org.apache.lucene.store.RAMDirectory;import java.io.File;import java.io.IOException;import java.util.ArrayList;public class WordNetSynonymEngine implements SynonymEngine {  RAMDirectory directory;  IndexSearcher searcher;  public WordNetSynonymEngine(File index) throws IOException {    directory = new RAMDirectory(FSDirectory.getDirectory(index, false));    searcher = new IndexSearcher(directory);  }  public String[] getSynonyms(String word) throws IOException {    ArrayList synList = new ArrayList();    Hits hits = searcher.search(new TermQuery(new Term("word", word)));    for (int i = 0; i < hits.length(); i++) {      Document doc = hits.doc(i);      String[] values = doc.getValues("syn");      for (int j = 0; j < values.length; j++) {        synList.add(values[j]);      }    }    return (String[]) synList.toArray(new String[0]);  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?