记:Lucene+Tika文档内容提取
Tika是一个用于文件类型检测和文件内容提取的库,具有以下提点。
- 统一解析接口。Tika所有第三方解析库被封装在一个单一的解析器中,由于这个特征,用户减少了根据不同文档类型选择合适的解析库的负担。
- 低内存占用。因为统一的解析器接口,Tika消耗的内存资源更少,也很容易嵌入各种Java应用程序。
- 快速处理。应用中内容检测和信息提取可以预期,处理速度快。
- 灵活元数据。Tika理解所有用来描述文件的元数据模型。
- 解析器集成。Tika可以使用单一应用程序中每个文件类型的各种解析器库。
- MIME类型检测。Tika可以检测并从所有包括在MIME标准媒体类型中提取内容。
- 语言检测。Tika包含语言识别功能,因此可以在一个多语种网站基于语言类型的文档中使用。
public static void main(String[] args) throws IOException, TikaException, SAXException { //新建存放各种文件的file文件夹
File files = new File("/Users/fxl/IdeaProjects/learning-pro/lucene/src/main/resources/doc");
if (!files.exists()) {
System.out.println("文件夹不存在,请检查!");
System.exit(0);
}
File[] fileArr = files.listFiles();
//方法一
// Tika tika = new Tika();
// String fileContent;
// for (File f : fileArr) {
// fileContent = tika.parseToString(f);
// System.out.println("Extracted Content: " + fileContent);
// }
//方法二
BodyContentHandler handler = new BodyContentHandler(10 * 1024 * 1024);
//创建元数据
Metadata metadata = new Metadata();
FileInputStream fileInputStream;
Parser parser = new AutoDetectParser();
ParseContext parseContext = new ParseContext();
for (File f : fileArr) {
fileInputStream = new FileInputStream(f);
parser.parse(fileInputStream, handler, metadata, parseContext);
System.out.println(f.getName() + ":
" + handler.toString());
}
}
以上是 记:Lucene+Tika文档内容提取 的全部内容, 来源链接: utcz.com/z/515610.html