Luke是一個用於Lucene搜索引擎的,方便開發和診斷的第三方工具,它可以訪問現有Lucene的索引,並允許您顯示和修改。
Apache Tika 可以利用現有的類庫,從不同的格式文檔中讀取數據。
利用Tika和Lucene的集成可以方便的對文檔進行索引。
利用tika解析文檔的例子
這裏使用的是tika-1.2.jar
- package test;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStream;
- import org.apache.tika.exception.TikaException;
- import org.apache.tika.metadata.Metadata;
- import org.apache.tika.parser.AutoDetectParser;
- import org.apache.tika.parser.ParseContext;
- import org.apache.tika.parser.Parser;
- import org.apache.tika.sax.BodyContentHandler;
- import org.apache.tika.sax.ContentHandlerDecorator;
- import org.xml.sax.ContentHandler;
- import org.xml.sax.SAXException;
- public class TikaTest {
- public static void main(String[] args) {
- String classPath = TikaTest.class.getResource("/").getPath();
- classPath += "doc/test.doc";
- System.out.println(classPath);
- File f = new File(classPath);
- Parser parser = new AutoDetectParser();
- InputStream input = null;
- try {
- input = new FileInputStream(f);
- ContentHandler handler = new BodyContentHandler();
- ParseContext context = new ParseContext();
- context.set(Parser.class, parser);
- Metadata data = new Metadata();
- parser.parse(input, handler, data, context);
- System.out.println(handler.toString());
- } catch (FileNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } finally{
- if(input!=null){
- try {
- input.close();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- }
- }
本文出自 “Kenan_ITBlog” 博客,請務必保留此出處http://soukenan.blog.51cto.com/5130995/1123387