- 浏览: 182154 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 9821、浮点数精确计算 ... -
web.xml中load-on-startup标签的含义
2015-09-22 10:56 844原文:http://blog.csdn.net/leideng ... -
Java IO流整理
2015-04-08 22:26 727一、InputStream/OutputStream 和 Re ... -
Java Junit测试例子
2015-01-21 13:46 671原文:http://blog.csdn.net/pleasur ... -
javac命令编译 各种编译
2014-12-12 11:11 489javac参数(-classpath, -sourcepath ... -
HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
2014-11-14 09:22 1075原文转载:http://www.open-open.com/l ... -
上传进度条显示
2014-06-19 14:26 9111.重写 package com.upload.util ... -
java图片等比例缩放
2014-06-05 13:23 1048需要引入jar包 package com.gjw.ima ... -
将小写金额四舍五入保留两位小数,转换成大写金额
2014-05-30 10:26 946将小写金额四舍五入保留两位小数,转换成大写金额 网上收集了 ... -
response.setContentType 参数参照
2014-01-12 10:22 1158response.setContentType()的参数说明 ... -
java文件下载
2014-01-12 10:11 875文件下载有两种方法: 1.直接在网站上放个链接地址,右键另存为 ... -
html 转换成pdf
2013-12-27 18:07 9630解决需求: 1.字符串html代码转换成pdf文件 2.根据 ... -
java 程序代码小功能代码
2013-12-27 15:54 7931.输出格式 年月日 星期 SimpleDateForma ... -
详细解析Java中抽象类和接口的区别
2013-11-04 16:13 540在Java语言中, abst ... -
在线支付
2013-10-28 11:07 753http://blog.csdn.net/he20101020 ... -
java 给图片添加 水印图片
2013-10-22 17:35 898package michael.io.image; ... -
【文件下载】及解决文件名中文乱码问题
2013-10-16 10:32 1648关键代码: package com.action; ... -
日期 字符串截取 格式化 标签
2013-09-25 08:50 15441.java类文件 放到 src的包中 2.tld文件 放到w ... -
Java实现文件自动打包成zip并下载的代码
2013-09-24 15:34 1510package www.gjw.test; impo ... -
java email 发送带附件的邮件
2013-09-09 13:31 1258mixed、related 请看 http://3601935 ...
相关推荐
Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件格式中抽取文本和元数据。这个"tika读取文件专用包"显然包含了Tika项目所需要的各种jar包,这些jar包支持处理多种文件类型,如PDF、DOC、XLS、...
Tika是一款强大的开源Java库,专门用于从各种文件格式中提取元数据和文本内容。它在信息技术领域,尤其是文本处理和信息检索中扮演着重要角色。Tika利用Apache的MIME类型识别系统来识别文件类型,并且能够处理大量的...
tika-python 绑定到 Apache Tika REST 服务 Python binding to the Apache Tika REST services Apache Tika 库的 Python 端口,可使用 Tika REST 服务器使 Tika 可用。这使得 Apache Tika 可作为 Python 库使用,可...
英文Tika in Action Tika in Action to be a hands-on guide for developers working with search engines, content management systems, and other similar applications who want to exploit the information ...
Apache Tika是一个强大的开源内容检测和解析库,主要用于从各种文件格式中提取元数据和文本。这个名为“tika1.4.zip”的压缩包包含了Tika的1.4版本源代码,这对于开发者来说是一个宝贵的资源,可以深入理解其内部...
Apache Tika本产品包括在以下位置开发的软件Apache软件基金会。版权所有1993-2010大学大气研究公司/ Unidata该软件包含源自UCAR / Unidata的NetCDF库的代码。Tika服务器组件使用CDDL许可的依赖项
Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件格式中抽取文本内容和元数据。在Java环境中,Tika提供了丰富的API,使得开发者能够轻松地处理各种类型的文件,包括但不限于文档、图片、音频和...
Apache Tika是一个强大的内容检测和元数据提取库,主要用于解析各种不同格式的文件。它被广泛应用于信息检索、文本挖掘和内容分析等领域。Tika与Apache Lucene项目密切相关,Lucene是一个高性能、全文本搜索库,而...
Tika和Lucene是两个非常重要的Java库,广泛应用于信息提取和全文检索领域。这个压缩包包含"tika-app-1.20.jar"和"lucene-7.7.1",它们分别是Apache Tika和Apache Lucene的特定版本。 Apache Tika是一个内容分析工具...
Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种文件类型中抽取文本和元数据。这个"apache-tika-0.8-src.jar"文件是Tika项目在0.8版本的源代码,它提供了深入理解Tika内部工作原理的机会,对于...
Tika是一个强大的Apache项目,主要用于从各种文件格式中提取元数据和内容。它是一个内容分析工具,能够识别和解析超过500种不同的文件类型,包括文档、图像、音频和视频文件。在Java环境中,Tika是通过JAR(Java ...
Apache Tika是一款强大的内容检测和元数据提取工具,主要用于从各种类型的文件中抽取文本和元数据。Tika是Apache软件基金会的一个项目,它构建在Java之上,为开发者提供了丰富的API来解析不同格式的文档,包括但不...
Apache Tika 1.1 所需要的jar包,方便不想用maven的同学. 此压缩包内是核心jar包,依据http://tika.apache.org/1.1/gettingstarted.html 中Using Tika in an Ant project章节列出的 classpath 找齐 部分版本比文章中...
**Python库tika-1.13.tar.gz详解** 在Python开发中,库扮演着至关重要的角色,它们提供了丰富的功能,让开发者能够高效地完成任务。"tika-1.13.tar.gz"是一个针对Python的库,它封装了Apache Tika,一个强大的内容...
Apache Tika 利用现有的解析类库,从不同格式的文档中(例如HTML, PDF, Doc),侦测和提取出元数据和结构化内容。 功能包括: 侦测文档的类型,字符编码,语言,等其他现有文档的属性。 提取结构化的文字内容。...
在本篇博文中,“跟益达学Solr5之使用Tika从PDF中提取数据导入索引”,我们将探讨如何利用Apache Solr 5和Tika这两个强大的开源工具,从PDF文档中抽取数据并将其有效地导入到Solr索引库中。Apache Solr是一款功能...
Apache Tika是一个强大的开源工具,专门用于从各种文件格式中提取元数据和文本内容。它在信息技术领域,尤其是在搜索引擎和内容分析应用中扮演着重要角色。"apache-tika-0.1-incubating-src.tar.gz"是Apache Tika...
tika-app.1.19.1.jar,轻松提取文本正文的工具。。。。