ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-SOLR tika处理器无法完全抓取我的PDF文件

2019-11-19 15:03:11  阅读:408  来源: 互联网

标签:pdf solr itextpdf apache-tika java


SOLR开发人员大家好,

我有一些pdf文件,其中包含一些电路图.电路上垂直书写了一些文字.例如,在电路延伸线上的pdf上有一个垂直标记的“连接器连接器”一词,当索引到SOLR中时,该连接器将变成“连接器”.

出于明显的原因,搜索不在给定的关键字上进行.是否可以更改基础处理器?

我试图在独立的Java类中使用“ itextpdf”将pdf转换为文本,并且“ itextpdf”将文本打印得足够好.当我使用“ Apache Tika”阅读相同的pdf时,很明显看到很多单词都用空格打断,类似于SOLR所做的.

例如,是否有可能开发和集成“ itextpdf”实体处理器?或任何其他自定义实体处理器?

我最糟糕的替代方法是使用solrj并读取pdf并对其进行索引,但是如上所述,由于环境和设计的限制,这将是我最糟糕的替代方法.

使用SOLR 5.3.1

我现在正在使用tika处理器,

<dataConfig>
<dataSource type="BinFileDataSource" />
<document>
    <entity name="tika-test" processor="TikaEntityProcessor"
            url="C:\Users\12345\Downloads\workspace\Playground\circuits.pdf" format="text">
            <field column="Author" name="creator" meta="true"/>
            <field column="title" name="producer" meta="true"/>
            <field column="text" name="text"/>
    </entity>
</document>

SOLR索引文件的方式是这样的,

P o w e r Sou rc e T h e ft D e te rre n t a n d W ire le s s D o o r L o c k C o n tro l Turn Signal Flasher <6 –5 > DHEJ T–O V–R DJF C ombination M eter

解决方法:

最简单的方法(并不是最坏的情况也不是最坏的选择)是自己编写一个小的itextpdf提交模块,该模块扫描目录并使用SolrJ将提取的文本提交给Solr.这样一来,将来也可以简化索引过程的自定义和并行化(在多个服务器上运行提取和索引过程).

无论如何,Tika提取处理程序可能会在将来的某个时候从Solr核心移出并移到单独的索引工具中.

可以编写一个单独的守护程序,您可以将其提交给文档,并且将来具有不同的索引编制策略,但是尚未进行任何与此相关的工作.

标签:pdf,solr,itextpdf,apache-tika,java
来源: https://codeday.me/bug/20191119/2036979.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有