Lucene學習之使用Apache Tika進行文檔內容抽取

在上一篇關於Lucene的博客中,介紹了Lucene的入門以及中文文件的搜索問題解決,其中使用的例子是以文本文件作爲搜索的文檔,在創建索引時使用了Reader讀取文件。但是在實際的應用過程中,經常需要對各種各樣的非文本文件的內容進行全文搜索。我們常用的除了txt、html、xml等文本格式的文檔外,還有大量的例如pdf、word、ppt等非文本格式的文檔,在對這些文檔中的內容進行搜索時,就需要先抽取其內容,然後再跟進其內容創建索引,才能被正確搜索。Apache Tika 就是一款強大的文檔內容抽取框架,它集成了各種文檔解析器,能夠識別大多數的文檔,並且能夠擴展其他的解析器,而且對中文的識別也較好。經過不完全測試,能夠識別的文檔格式如下:

  1. pdf文檔
  2. doc、docx、ppt、excel
  3. txt、html、xml
  4. zip、tar

以上4類文檔基本上包含了我們在創建一個資料庫時所使用的文檔格式。

這個框架的使用也非常簡單,代碼如下(使用tika-app-1.4.jar):

import org.apache.tika.Tika;

public class SimpleTextExtractor {
	public static void main(String[] args) throws Exception {
		// 創建 Tika實例
		Tika tika = new Tika();
		// 使用tika對文件內容進行抽取,對常用的文檔格式進行測試
//		String filePath="D:/tikatest/test.pdf";
//		String filePath="D:/tikatest/test.doc";
//		String filePath="D:/tikatest/test.docx";
//		String filePath="D:/tikatest/test.txt";
//		String filePath="D:/tikatest/test.ppt";
//		String filePath="D:/tikatest/test.wps";
		String filePath="D:/tikatest/test.zip";
		String text = tika.parseToString(new File(filePath));
		System.out.println(text);
	}
}

  

需要下載Apacke tika的jar文件,下載鏈接:

http://mirrors.hust.edu.cn/apache/tika/tika-app-1.4.jar

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章