记: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

回到顶部