![](/img/trans.png)
[英]Sample code for searching text in PDF using LUCENE 4.6 and PDF Box
[英]Lucene 4.0 sample code
我不能讓它與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.
使用字段/術語API。
尤其請參見示例“特定文檔的訪問詞向量字段”
看到您正在遍歷所有文檔時,如果最終目標確實像所有文檔中唯一術語的平均數量一樣,請繼續閱讀“索引統計信息”部分。 例如,在這種情況下,您可以使用#postings / #documents有效地進行計算:getSumDocFreq()/ maxDoc()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.