我无法让它与 Lucene 4.0 及其新功能一起使用......有人可以帮帮我吗?
我从网上抓取了一堆 html 文档。现在我想计算每个文档的不同单词的数量。
这就是我使用 Lucene 3.5 的方式(对于单个文档。为了获得所有文档,我循环遍历所有文档……每次使用仅包含一个文档的新 RAMDirectory):
Analyzer analyzer = some Lucene Analyzer;
RAMDirectory index;
index = new RAMDirectory();
IndexWriterConfig config = new IndexWriterConfig(Version.LUCENE_35, analyzer);
String _words = new String();
// get somehow the String containing a certain text:
_words = doc.getPageDescription();
try {
IndexWriter w = new IndexWriter(index, config);
addDoc(w, _words);
w.close();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
try {
// System.out.print(", count Terms... ");
IndexReader reader = IndexReader.open(index);
TermFreqVector[] freqVector = reader.getTermFreqVectors(0);
if (freqVector == null) {
System.out.println("Count words: ": 0");
}
for (TermFreqVector vector : freqVector) {
String[] terms = vector.getTerms();
int[] freq = vector.getTermFrequencies();
int n = terms.length;
System.out.println("Count words: " + n);
....
如何使用 Lucene 4.0 做到这一点?
但是,我更喜欢使用 FSDirectory 而不是 RAMDirectory 来执行此操作;如果我有大量文档,我想这会更高效?
感谢和问候 C.