- 浏览: 175619 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (134)
- java笔记 (25)
- Android开发 (3)
- Mybatis笔记 (1)
- oracle (9)
- javaScript (23)
- struts2 (2)
- jquery (6)
- java多线程 (6)
- 全文检索lucene (1)
- solr4.4 (5)
- solr4.9 (1)
- css 要点 (2)
- fmt格式化 (1)
- 百度地图 (1)
- 显示层jsp (2)
- ant (3)
- 脑袋放水 (2)
- 播放器 (1)
- log日志 (1)
- Spring (1)
- 设计模式 (2)
- httpservlet (1)
- seo (1)
- eclipse使用技巧 (1)
- 正则表达式 (2)
- 我的异常解决方案 (2)
- 集群服务器 (2)
- java网络编程 (3)
- Eclipse快捷键 (1)
- 图片和Base64互转 (1)
- maven (0)
- jsoup 网络爬虫 (1)
- 安全防范 (1)
- 非关系型数据库 (1)
- 在线工具 (1)
- HTML5学习 (1)
- Apache-Mina (1)
最新评论
-
wenjiao8204322:
不好意思说错了,是变量替换后,如果是英文和数字,是不换行的,如 ...
html 转换成pdf -
wenjiao8204322:
楼主你好,有问题、一直难以解决,我们项目上线后,就遗留在这就是 ...
html 转换成pdf -
jacking124:
scoreName 这个属性是做什么的!
jquery.raty-评级插件 -
高军威:
yixiandave 写道高军威 写道alvin198761 ...
Java中的五种实现方法【单例模式】 -
yixiandave:
高军威 写道alvin198761 写道53./** 54. ...
Java中的五种实现方法【单例模式】
测试代码:
http://yunpan.cn/Qb93GuJDtIUL5
package com.tika.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.FieldType; import org.apache.lucene.index.CorruptIndexException; import org.apache.lucene.index.DirectoryReader; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.queryparser.classic.MultiFieldQueryParser; import org.apache.lucene.queryparser.classic.ParseException; import org.apache.lucene.queryparser.classic.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.store.Directory; import org.apache.lucene.store.FSDirectory; import org.apache.lucene.store.LockObtainFailedException; import org.apache.lucene.util.Version; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.apache.tika.Tika; 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.parser.microsoft.OfficeParser; import org.apache.tika.parser.microsoft.ooxml.OOXMLParser; import org.apache.tika.sax.BodyContentHandler; import org.wltea.analyzer.lucene.IKAnalyzer; import org.xml.sax.ContentHandler; import org.xml.sax.SAXException; public class IndexUtil { public static void main(String[] args) throws ParseException, IOException, TikaException { //index();//创建索引 //System.out.println("ids="+searche("谷歌"));//查询索引 File f = new File("C:/高军威.xls"); //tikaTool(f); System.out.println(fileToTxt(f)); } public static String tikaTool(File f) throws IOException, TikaException { Tika tika = new Tika(); Metadata metadata = new Metadata(); String str = tika.parseToString(new FileInputStream(f),metadata); for(String name:metadata.names() ) { System.out.println(name+":"+metadata.get(name)); } return str; } public static String fileToTxt(File f) { //Parser parser = new OOXMLParser(); //Parser parser = new PDFParser();//PDF 内容获得 //Parser parser = new HtmlParser(); //网页信息获得 //Parser parser = new OOXMLParser(); //2010 office用这个 //Parser parser = new OfficeParser(); //2003以下用这个 Parser parser = new AutoDetectParser(); //程序自动检测parser InputStream is = null; try { Metadata metadata = new Metadata(); metadata.add(Metadata.CONTENT_ENCODING, "utf-8");//html是 设置 防止乱码 metadata.set(Metadata.RESOURCE_NAME_KEY, f.getName()); is = new FileInputStream(f); //Workbook wb =new HSSFWorkbook(is); //System.out.println(wb.getSheetAt(0).getRow(0).getCell(0).getStringCellValue()); ContentHandler handler = new BodyContentHandler(); ParseContext context = new ParseContext(); context.set(Parser.class,parser); parser.parse(is,handler, metadata,context); for(String name:metadata.names()) { System.out.println(name+":"+metadata.get(name)); } return handler.toString(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (SAXException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (TikaException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { try { if(is!=null) is.close(); } catch (IOException e) { e.printStackTrace(); } } return null; } public static String searche(String searchString) throws ParseException, IOException { IKAnalyzer analyzer = new IKAnalyzer(); String[] fields = {"content"}; QueryParser parser = new MultiFieldQueryParser(Version.LUCENE_40 ,fields,analyzer); Query q2 = parser.parse(searchString); Directory dir = FSDirectory.open(new File("d:/lucene")); IndexReader indexReader = DirectoryReader.open(dir); IndexSearcher indexSearcher = new IndexSearcher(indexReader); ScoreDoc[] docs = indexSearcher.search(q2,6000).scoreDocs; String dd =""; if(docs.length>0){ Document document = indexSearcher.doc(docs[0].doc); dd = document.get("ids"); } return dd; } public static void index() { try { File f = new File("C:/ITeye.pdf"); IKAnalyzer analyzer = new IKAnalyzer(); IndexWriterConfig indexWriterConfig = new IndexWriterConfig(Version.LUCENE_40,analyzer); FieldType ft = new FieldType(); ft.setStored(false); // 设置是否进行存储 ft.setIndexed(true); // 设置是否能够索引到 ft.setTokenized(true);// 设置是否进行分词分析 FieldType ft2 = new FieldType(); ft2.setStored(true); // 设置是否进行存储 ft2.setIndexed(true); // 设置是否能够索引到 ft2.setTokenized(false);// 设置是否进行分词分析 Directory dir = FSDirectory.open(new File("d:/lucene")); IndexWriter writer = new IndexWriter(dir,indexWriterConfig); writer.deleteAll(); Document doc = new Document(); Field field1 = new Field("content",new Tika().parse(f),ft2); Field field2 = new Field("ids","110",ft2); doc.add(field1); doc.add(field2); writer.addDocument(doc); writer.close(); } catch (CorruptIndexException e) { e.printStackTrace(); } catch (LockObtainFailedException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally{ System.out.println("索引创建成功!!"); } } }
http://yunpan.cn/Qb93GuJDtIUL5
发表评论
-
BigDecimal商业计算详解
2017-03-07 09:20 9251、浮点数精确计算 ... -
web.xml中load-on-startup标签的含义
2015-09-22 10:56 786原文:http://blog.csdn.net/leideng ... -
Java IO流整理
2015-04-08 22:26 675一、InputStream/OutputStream 和 Re ... -
Java Junit测试例子
2015-01-21 13:46 591原文:http://blog.csdn.net/pleasur ... -
javac命令编译 各种编译
2014-12-12 11:11 442javac参数(-classpath, -sourcepath ... -
HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
2014-11-14 09:22 1023原文转载:http://www.open-open.com/l ... -
上传进度条显示
2014-06-19 14:26 8601.重写 package com.upload.util ... -
java图片等比例缩放
2014-06-05 13:23 1012需要引入jar包 package com.gjw.ima ... -
将小写金额四舍五入保留两位小数,转换成大写金额
2014-05-30 10:26 903将小写金额四舍五入保留两位小数,转换成大写金额 网上收集了 ... -
response.setContentType 参数参照
2014-01-12 10:22 1084response.setContentType()的参数说明 ... -
java文件下载
2014-01-12 10:11 828文件下载有两种方法: 1.直接在网站上放个链接地址,右键另存为 ... -
html 转换成pdf
2013-12-27 18:07 9544解决需求: 1.字符串html代码转换成pdf文件 2.根据 ... -
java 程序代码小功能代码
2013-12-27 15:54 7451.输出格式 年月日 星期 SimpleDateForma ... -
详细解析Java中抽象类和接口的区别
2013-11-04 16:13 493在Java语言中, abst ... -
在线支付
2013-10-28 11:07 689http://blog.csdn.net/he20101020 ... -
java 给图片添加 水印图片
2013-10-22 17:35 848package michael.io.image; ... -
【文件下载】及解决文件名中文乱码问题
2013-10-16 10:32 1588关键代码: package com.action; ... -
日期 字符串截取 格式化 标签
2013-09-25 08:50 14791.java类文件 放到 src的包中 2.tld文件 放到w ... -
Java实现文件自动打包成zip并下载的代码
2013-09-24 15:34 1472package www.gjw.test; impo ... -
java email 发送带附件的邮件
2013-09-09 13:31 1205mixed、related 请看 http://3601935 ...
相关推荐
tika-python 绑定到 Apache Tika REST 服务 Python binding to the Apache Tika REST services Apache Tika 库的 Python 端口,可使用 Tika REST 服务器使 Tika 可用。这使得 Apache Tika 可作为 Python 库使用,可...
Apache Tika本产品包括在以下位置开发的软件Apache软件基金会。版权所有1993-2010大学大气研究公司/ Unidata该软件包含源自UCAR / Unidata的NetCDF库的代码。Tika服务器组件使用CDDL许可的依赖项
tika读取文件所用jar包,包含各种文件类型所用jar
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。...
tika最新版本,tika-app-1.0.jar,提取office和pdf文档内容
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。 该...
tika+lucene完整jar包:tika-app-1.20.jar、lucene-7.7.1
tika 工程 简便获取文本的java工具
下载Apache的tika项目时发现网上没有现成的tika的jar文件,只能自己编译一个了。可能大家也会遇到这个问题。所以将编译好的jar包传上来于大家分享。其中包含了tika-app-0.5.jar,tika-core-0.5.jar,tika-parsers-...
可直接通过java -jar tika.jar运行该jar包 查看我们解析得到文本的结果
使用tika0.5提取内容的基本的jar包。
lucene's tika可以直接去网站下载噢。
Tika.in.Action.pdf
tika-app-1.16,java文档内容提取工具jar包,可提取office文档内容
最新tika1.8,可以帮助lucene的开发,提取文档的内容
apache-tika-0.8-src.jar 源码
apache-tika-1.0-src.zip,tika 1.0版本 源码包,看孔浩的搜索引擎视频用到的。
Apache Tika 1.1 所需要的jar包,方便不想用maven的同学. 此压缩包内是核心jar包,依据http://tika.apache.org/1.1/gettingstarted.html 中Using Tika in an Ant project章节列出的 classpath 找齐 部分版本比文章中...
Tika1.0jar包和源码 Lucene从各种文件类型中提取文字信息的工具
tika1.7jar包(app、core、parsers)