您的位置:首页 > 其它

lucene中好用的两个工具luke和Tika

2013-04-01 16:15 330 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: