发布于 2015-04-24 07:59:25 | 192 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Lucene教程,程序狗速度看过来!

Apache Lucene全文检索引擎工具包

Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。


首先说明Lucene如果想对office进行操作的话,需要额外的包

这里有几种方法

一是使用POI

二是使用jacob

这里的代码使用的是jacob对于word进行处理

示例代码:

package jacob;


import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;


public class WordReader {


public WordReader() {
// TODO Auto-generated constructor stub
}

public static void extractDoc(String inputFile, String outputFile){
boolean flag = false;

//打开word应用程序
ActiveXComponent app = new ActiveXComponent("Word.Application");

try{
//设置word不可见
app.setProperty("Visible", new Variant(false));

//打开word文件
Dispatch doc1 = app.getProperty("Document").toDispatch();
Dispatch doc2 = Dispatch.invoke(doc1, "Open", Dispatch.Method, new Object[]{inputFile,  new Variant(false),new Variant(true)}, new int[1]).toDispatch();
//作为txt格式保存到临时文件 
Dispatch.invoke(doc2, "SaveAs", Dispatch.Method, new Object[]{outputFile, new Variant(7)}, new int[1]);
//关闭Word
Variant f = new Variant(false);
Dispatch.call(doc2, "Close", f);
flag = true;
}catch(Exception e){
e.printStackTrace();
}finally{
app.invoke("Quit", new Variant[]{});
}
if(flag == true){
System.out.println("Transformed Successfully");
}else{
System.out.println("Transform Failed");
}

}
public static void main(String[] args) {
// TODO Auto-generated method stub
WordReader.extractDoc("E:\Hadoop.doc", "E:\jacob.txt");
}


}


最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务