我正在使用Jackrabbit做一些基本的文件操作,如添加,删除,搜索,版本控制等等。这很好,直到我遇到PDF文件中的搜索问题。请在下面找到我的代码,它适用于所有其他格式,如word,xcel,纯文本,不适用于PDF文件。代码在执行时没有给出任何异常,如果我提供PDF文件,它就不会给出任何结果。是因为我的PDF文件没有编入索引吗?请帮帮我。
Query query = queryManager.createQuery("select * from [nt:resource] AS resource where contains(resource.*, '%sampletext%')", Query.JCR_SQL2);
QueryResult result = query.execute();
RowIterator ri = result.getRows();
while (ri.hasNext()) {
Row row = ri.nextRow();
System.out.println("Row: " + row.toString());
}
提前致谢
答案 0 :(得分:0)
我可以想到3个可能的根本原因:
当时PDF文件尚未编入索引(全文索引在后台线程AFAIK中完成)
pdf库(pdfbox)不在类路径中
由于某些原因,pdf无法成为索引in which case you would see a warning in the log file。