精华内容
下载资源
问答
  • tika

    2019-05-21 13:54:04
    Tika是一个内容抽取的工具集合(a toolkit for text extracting)。利用Tika,我们可以获得文件的实际类型(https://blog.csdn.net/helihongzhizhuo/article/details/90404387)、文件的编码格式...

    Tika是一个内容抽取的工具集合(a toolkit for text extracting)。利用Tika,我们可以获得文件的实际类型(https://blog.csdn.net/helihongzhizhuo/article/details/90404387 )、文件的编码格式(https://blog.csdn.net/helihongzhizhuo/article/details/90401777)、字符串的语言、文件的文本内容。

    在当前的2.0.0-SNAPSHOT版本中, Tika提供了对如下文件格式的支持:

    PDF - 通过Pdfbox
    MS-* - 通过POI
    HTML - 使用nekohtml将不规范的html整理成为xhtml
    OpenOffice 格式 - Tika提供
    Archive - zip, tar, gzip, bzip等
    RTF - Tika提供
    Java class - Class解析由ASM完成
    Image - 只支持图像的元数据抽取
    XML
    Tika的API十分便捷,核心是Parser interface,其中定义了一个parse方法:
    public void parse(InputStream stream, ContentHandler handler, Metadata metadata)
    用stream参数传递需要解析的文件流, 文本内容会被传入handler,而元数据会更新至metadata。

    可以使用Tika的ParserUtils工具来根据文件的mime-type来得到一个适当的Parser来进行解析工作。或者Tika还提供了一个AutoDetectParser根据不同的二进制文件的特殊格式 (比如说Magic Code),来寻找适合的Parser。

    项目请见:

    https://github.com/apache/tika

    http://tika.apache.org/

    http://tika.apache.org/download.html

    展开全文
  • Tika

    2018-10-31 16:29:00
    通过Tika可以将非txt文档内容进行解析并提取到相关的文档内容. 【概述】 Tika是Apache公司在2008年推出一个项目,目的是为了在Lucene和其他格式的文件之间建立一个桥梁.通过Tika可以解析到非文本文件的内容. ...

    【目的】

    Lucene在读取非txt文档时将无法正常建立索引.因为非txt文档一般其内容为二进制的.

    通过Tika可以将非txt文档内容进行解析并提取到相关的文档内容.

     

    【概述】

     

    TikaApache公司在2008年推出一个项目,目的是为了在Lucene和其他格式的文件之间建立一个桥梁.通过Tika可以解析到非文本文件的内容.

     

    【方式一】

     

        /**
         * 读取文件内容
         * @param file
         */
        public void read(File file){
            //AutoDetecParser:自动检测符合文件的Parser并进行返回
            Parser parser = new AutoDetectParser();
            InputStream stream = null;
    
            try {
                //创建输入流对象
                stream = new FileInputStream(file);
                //内容的存放对象
                BodyContentHandler handler = new BodyContentHandler();
                //定义元数据存放对象
                Metadata metaData = new Metadata();
                //增加元数据的信息
                metaData.add(metaData.RESOURCE_NAME_KEY, file.getName());
                
                //创建ParseContext对象
                //通过对象存储相关的变量信息
                ParseContext context = new ParseContext();
                
                //参数1    :输入流对象(转换内容的对象)
                //参数2    :内容的存放对象
                //参数3    :元数据存放对象
                //参数4    :上下文对象
                parser.parse(stream,handler, metaData,context );
                
                //输出文件的内容
                System.out.println(handler);
                
                //输出元数据信息            
                for(String temp : metaData.names()){
                    System.out.println(temp + " = " + metaData.get(temp));
                }
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SAXException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (TikaException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            finally{
                try {
                    stream.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }

     

     1     /**
     2      * 测试Tika读取文件内容
     3      */
     4     @Test
     5     public void testTika(){
     6         TikaUtil util = new TikaUtil();
     7         //util.read(new File("E:\\lucene\\files3\\story2.docx"));
     8         //util.read(new File("E:\\lucene\\files3\\Linux20个常用命令.pdf"));
     9         util.read(new File("E:\\lucene\\files3\\学员末班申请表 - 模板.xls"));
    10         System.out.println("内容读取完成");
    11     }

     

    【方式二】

     1     /**
     2      * 读取文件内容
     3      * @param file
     4      */
     5     public void read2(File file){
     6         Tika tika = new Tika();
     7         
     8         try {
     9             String content = tika.parseToString(file);
    10             System.out.println(content);
    11         } catch (IOException e) {        
    12             // TODO Auto-generated catch block
    13             e.printStackTrace();
    14         } catch (TikaException e) {
    15             // TODO Auto-generated catch block
    16             e.printStackTrace();
    17         }
    18     }

    注意:方式2的执行效率低于方式1

     

    【Tika创建索引】

     

     1     /**
     2      * 为指定路径下的文件创建索引
     3      * @param filePath
     4      */
     5     public  void createIndex( String filePath){
     6         IndexWriter writer = null;
     7         
     8         try{
     9             //创建Writer
    10             writer = util.getWriter(this.getDirectory(path), this.getConfig());
    11             
    12             //创建Document
    13             Document doc = null;
    14             
    15             //获取文件列表
    16             File list = new File(filePath);
    17             Tika tika = new Tika();
    18             
    19             //创建索引
    20             int i = 0;
    21             for(File file : list.listFiles()){
    22                 doc = new Document();
    23                 //建立Id列
    24                 doc.add(new Field("id",String.valueOf(i++),Field.Store.YES,Field.Index.NOT_ANALYZED));
    25                 doc.add(new Field("filename",file.getName(),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
    26                 doc.add(new Field("modifydate",Long.toString(file.lastModified()),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS ));
    27                 //doc.add(new Field("size",getSize(file.length()),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
    28                 
    29                 doc.add(new NumericField("size",Field.Store.YES,true).setLongValue(getSize(file.length())));
    30                 doc.add(new NumericField("score2",Field.Store.YES,true).setDoubleValue(Math.random()));
    31                 doc.add(new Field("path",file.getAbsolutePath(),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS));
    32                 //doc.add(new Field("content",new FileReader(file)));
    33                 //使用Tika读取文件内容并建立分词
    34                 doc.add(new Field("content",new StringReader(tika.parseToString(file))));
    35                 
    36                 writer.addDocument(doc);
    37             }
    38         }
    39         catch(Exception ex){
    40             ex.printStackTrace();
    41         }
    42         finally{
    43             try {
    44                 writer.close();
    45             } catch (CorruptIndexException e) {
    46                 e.printStackTrace();
    47             } catch (IOException e) {
    48                 e.printStackTrace();
    49             }
    50         }
    51     }

     

    转载于:https://www.cnblogs.com/zhzcode/p/9883992.html

    展开全文
  • 欢迎使用Apache Tika Apache Tika TM是使用现有解析器库从各种文档中检测和提取元数据和结构化文本内容的工具包。 Tika是的项目。 Apache TikaTika,Apache,Apache Feather徽标和Apache Tika项目徽标是The ...
  • tika html body,Apache Tika

    2021-07-07 03:37:01
    Apache Tika API Usage ExamplesThis page provides a number of examples on how to use the various Tika APIs. All of the examples shown are also available in the Tika Example module in GIT.Tika provides ...

    Apache Tika API Usage Examples

    This page provides a number of examples on how to use the various Tika APIs. All of the examples shown are also available in the Tika Example module in GIT.

    Tika provides a number of different ways to parse a file. These provide different levels of control, flexibility, and complexity.

    The Tika facade, provides a number of very quick and easy ways to have your content parsed by Tika, and return the resulting plain text

    For more control, you can call the Tika Parsers directly. Most likely, you'll want to start out using the Auto-Detect Parser, which automatically figures out what kind of content you have, then calls the appropriate parser for you.

    With Tika, you can get the textual content of your files returned in a number of different formats. These can be plain text, html, xhtml, xhtml of one part of the file etc. This is controlled based on the ContentHandler you supply to the Parser.

    By using the BodyContentHandler, you can request that Tika return only the content of the document's body as a plain-text string.

    By using the ToXMLContentHandler, you can get the XHTML content of the whole document as a string.

    If you just want the body of the xhtml document, without the header, you can chain together a BodyContentHandler and a ToXMLContentHandler as shown:

    It possible to execute XPath queries on the parse results, to fetch only certain bits of the XHTML.

    The textual output of parsing a file with Tika is returned via the SAX ContentHandler you pass to the parse method. It is possible to customise your parsing by supplying your own ContentHandler which does special things.

    By using the PhoneExtractingContentHandler, you can have any phone numbers found in the textual content of the document extracted and placed into the Metadata object for you.

    Sometimes, you want to chunk the resulting text up, perhaps to output as you go minimising memory use, perhaps to output to HDFS files, or any other reason! With a small custom content handler, you can do that.

    Tika provides a pluggable Translation system, which allow you to send the results of parsing off to an external system or program to have the text translated into another language.

    In order to use the Microsoft Translation API, you need to sign up for a Microsoft account, get an API key, then pass the key to Tika before translating.

    Tika provides support for identifying the language of text, through the LanguageIdentifier class.

    A number of other examples are also available, including all of the examples from the Tika In Action book. These can all be found in the Tika Example module in GIT.

    展开全文
  • Apache Tika本产品包括在以下位置开发的软件Apache软件基金会。版权所有1993-2010大学大气研究公司/ Unidata该软件包含源自UCAR / Unidata的NetCDF库的代码。Tika服务器组件使用CDDL许可的依赖项
  • 要使它在断开连接的环境中工作,请下载tika服务器文件(tika-server.jar和tika-server.jar.md5,均可在找到),并将TIKA_SERVER_JAR环境变量设置为TIKA_SERVER_JAR =“ file:// //tika-server.jar”成功地告诉...
  • tikatika介绍

    千次阅读 2017-12-20 19:02:00
    tika是什么? Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。 在内部,Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。 使用Tika,人们可以开发出通用型检测器和...

    tika是什么?

    • Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。

    • 在内部,Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。

    • 使用Tika,人们可以开发出通用型检测器和内容提取到的不同类型的文件,如电子表格,文本文件,图像,PDF文件甚至多媒体输入格式,在一定程度上提取结构化文本以及元数据。

    • Tika提供用于解析不同文件格式的一个通用API。它采用83个现有的专业解析器库,为每个文档类型。

    • 所有这些解析器库是根据一个叫做Parser接口单一接口封装。

    为什么使用tika?

    据filext.com网站统计,大约有1.5万至51K的内容类型,并且这个数字还在与日俱增。数据被存储在不同的格式,如文本文档,excel表格,PDF,图像和多媒体文件,仅举几例。因此,应用程序如搜索引擎和内容管理系统需要从这些文档类型容易提取数据的额外的支持。Apache Tika 通过提供一个通用的API来检测并提取多种文件格式的数据服务达到这一目的。


    Tika的功能

    Tika支持多种功能:

    • 文档类型检测
    • 内容提取
    • 元数据提取
    • 语言检测

    文件类型检测

    Tika使用不同的检测技术,检测给它的文件的类型。

    Detection

    内容提取

    Tika有一个解析器库,可以分析各种文档格式的内容,并提取它们。然后检测所述文档的类型,它从解析器库选择的适当的分析器,并传递该文档。不同类别的Tika方法来解析不同的文件格式。

    Extraction

    元数据提取

    随着内容,Tika提取具有相同的程序的文件的元数据中的内容的提取。对于某些文件类型,Tika有接口类提取元数据。

    Extraction1

    语言检测

    在内部,Tika如下像一个n-gram算法来检测所述内容的语言的给定文档中。Tika取决于类,如语言识别和Profiler的语言识别。

    Detection1


    转自: http://www.yiibai.com/tika/tika_architecture.html







    展开全文
  • 提卡 创建aws lambda-tika容器
  • Apache Tika

    2021-09-06 18:02:06
    Tika是一个内容分析工具,自带全面的parser工具类,能解析基本所有常见格式的文件,得到文件的metadata,content等内容,返回格式化信息。总的来说可以作为一个通用的解析工具。特别对于搜索引擎的数据抓去和处理...
  • tika jar包

    2018-11-21 20:16:44
    tika读取文件所用jar包,tika-core-1.5.jar和tika-parsers-1.5.jar
  • 适用于MPXJ的Apache Tika插件 这为Apache Tika提供了一个插件,可以使用MPXJ处理Microsoft Project文件(MPP)。 要使用此插件,只需在您的Tika类路径中包括MPXJ-Tika jar,Tika将自动检测该插件并使其可用。 信息...
  • Tika-Python是与Apache Tika:trade_mark:REST服务绑定的Python,允许在Python社区中本地调用Tikatika-python Apache Tika库的Python端口,可通过Tika REST Server使Tika可用。 这使得Apache Tika可以作为Python库...
  • Tika入门

    千次阅读 2018-11-28 23:40:14
    Tika是apache下的一个提取文件内容的工具包,废话不多说直接上代码 maven依赖: <dependency> <groupId>org.apache.tika</groupId> <artifactId>tika...
  • 这也将确保图表的文档和示例将与您要安装的Tika版本一起使用。 警告:此分支用于开发,请使用作为发行版本。 配置不推荐使用 常问问题 贡献 要求 Kubernetes> = 1.14 头盔> = v3.4.2 正在安装 使用Helm存储库...
  • lucence7.7.1+tika

    2019-03-07 11:34:06
    lucence7.7.1 加上tika实现检索词 自己琢磨这下载啊。我只是搬运过来
  • 提卡示例 使用Apache Tika进行文件类型检测 使用检测项目中文件的类型(csv,xml等)。 一个有关我的即将发布的博客文章的项目。
  • TutorialsPoint Tika 教程.epub
  • tika资源包

    2015-06-05 11:24:01
    使用apache tika可以很方便地将文档内容提取出来,方便做全文检索使用。
  • Tika教程

    2017-08-03 09:51:00
    Apache Tika 是什么? Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。 在内部,Tika使用现有的各种文件解析器和文档类型的检测技术来检测和提取数据。 使用Tika,人们可以开发出通用型...
  • Apache Tika入门

    2021-06-03 11:32:46
    文章目录1、基本介绍2、Tika使用2.1、解析器接口(The Parser interface)2.1.1、自定义Parser类2.2、检测器接口2.3、Tika配置 1、基本介绍 Apache Tika(文本分析工具包)能够检测并提取来自上千种不同文件类型(如...
  • tika+lucene完整jar包

    2019-03-11 09:51:16
    tika+lucene完整jar包:tika-app-1.20.jar、lucene-7.7.1
  • Tika in Action

    热门讨论 2012-03-08 11:33:35
    tika in action for text extraction
  • i'm having some troubles using Apache TIKA (version 1.10). I got some PDF files which are just scanned pieces of paper. That means each page is just an image. My goal is to extract the text of the PDF...
  • ipfs-tika 带有IPFS哈希值的Java Web应用程序,通过Apache的Tika提取(文本)内容和元数据。 要求 Java 8 Maven 编译中 mvn compile 跑步 mvn exec:java -Dexec.mainClass="com.ipfssearch.ipfstika.App" 打包 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,582
精华内容 1,032
关键字:

Tika