guanglongsanri
PDFBox和lucene集成问题程序出错
import java.io.File;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Hits;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TermQuery;
import org.pdfbox.searchengine.lucene.LucenePDFDocument;
public class PdfLuceneTest {
public static void main(String[] args) {
try {
// IndexWriter存放索引到d:/index下
IndexWriter writer = new IndexWriter("d://index",new StandardAnalyzer(), true);
// LucenePDFDocument返回由PDF产生的Lucene Docuement
Document d = LucenePDFDocument.getDocument(new File("C://index.pdf"));
// 写入索引
writer.addDocument(d);
// 关闭索引文件流
writer.close();
// 读取d:/index下的索引文件建立IndexSearcher
IndexSearcher searcher = new IndexSearcher("d://index");
// 对索引的contents Field进行查找关键词poi
Term t = new Term("contents", "Java");
// 根据Term生成Query
Query q = new TermQuery(t);
// 搜索返回结果集
Hits hits = searcher.search(q);
// 打印结果集
for (int i = 0; i < hits.length(); i++) {
System.out.println(hits.doc(i));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
报错如下:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.lucene.document.Document.add(Lorg/apache/lucene/document/Field;)V
at org.pdfbox.searchengine.lucene.LucenePDFDocument.addUnindexedField(LucenePDFDocument.java:224)
at org.pdfbox.searchengine.lucene.LucenePDFDocument.convertDocument(LucenePDFDocument.java:265)
at org.pdfbox.searchengine.lucene.LucenePDFDocument.getDocument(LucenePDFDocument.java:377)
at test.test.PdfLuceneTest.main(PdfLuceneTest.java:21)
请问如何解决?
[[i] 本帖最后由 guanglongsanri 于 2008-6-6 13:18 编辑 [/i]]