Tag: apache tika

使用Solr CELL的ExtractingRequestHandler从包格式索引/提取文件

你可以使用ExtractingRequestHandler和Tika与任何压缩文件格式(zip,tar,gz等)来提取内容以进行索引吗? 我正在使用curl发送solived archived.tar文件。 curl“ http:// localhost:8983 / solr / update / extract?literal.id = doc1&fmap.content = body_texts&commit = true ” -H’Content -type:application / octet-stream’ – data-binary“@ / home /archived.tar“我查询文档时得到的结果是归档中的文件名被索引为”body_texts“,但这些文件的内容未被提取或包含。 这不是我预期的行为。 参考: http : //www.lucidimagination.com/Community/Hear-from-the-Experts/Articles/Content-Extraction-Tika#article.tika.example 。 当我使用相同的curl命令在存档中发送1个实际文档时,提取的内容然后存储在“body_texts”字段中。 我错过了压缩文件的步骤吗? 我在http://outoftime.lighthouseapp.com/projects/20339/tickets/98-solr-cell中添加了所有提取依赖项,如mat所示,并且能够成功从MS Word,PDF,HTML文档中提取数据。 我正在使用以下库版本。 Solr 1.40,Solr Cell 1.4.1,Tika Core 0.4 鉴于我所读到的所有内容,此版本的Tika应支持从压缩文件中的所有文件中提取数据。 任何帮助或建议将不胜感激。

使用java比较两个pdf文件(方法)

我需要编写一个比较两个pdf文件的java类,并使用某种突出显示指出差异(文本/位置/字体的差异)。 我最初的方法是使用pdfbox使用pdfbox解析文件,并使用一些数据结构存储提取的文本,这将有助于我进行比较。 是否有任何java库可以提取文本,保留格式,帮助我索引和比较。我可以使用tika / google的差异匹配。 tika以xhtml的forms提取文本,但我如何比较两个xhtml文件?

如何为几种文档类型正确配置Apache Tika?

我一直在使用Tika,我知道一个人应该只使用Tika facade,默认或自定义TikaConfig代表org/apache/tika/mime/tika-mimetypes.xml文件。 我的应用程序不允许任何文档类型不同于html,doc,docx,odt,txt,rtf,srt,sub,pdf,odf,odp,xls,ppt,msg 默认的MediaTypes包含大量其他。 我们是否应该修改tika-mimetypes.xml以便删除我们不需要的MimeTypes? 然后根据我的理解,它将仅为这些MimeTypes创建复合解析器和检测器。 但是当提供不受支持的类型时会发生什么? 我应该只是捕获TikaException或一些SAXException并拒绝该文件? 还有人应该如何手动编辑tika-mimetypes.xml? 它有1290个MimeTypes,其中大多数都是荒谬的第三方MimeTypes。 他们为什么在那里?

使用Apache Tika在solr中的PDF文件的ContentExtraction

我试图使用以下教程http://wiki.apache.org/solr/ExtractingRequestHandler索引solr中的PDF文件但是每次我发出命令 java -jar post.jar *.pdf 它说一些org.apache.solr.common.SolrException:无效的UTF-8中间字节0xe3错误请帮我将PDF索引到solr server.Is还有其他整合然后tika可以帮助我。

java.lang.IllegalArgumentException:protocol = http host = null

对于这个链接http://bits.blogs.nytimes.com/2014/09/02/uber-banned-across-germany-by-frankfurt-court/?partner=rss&emc=rss此代码不起作用,但如果我以另一个为例: https : //www.google.com一切正常: URL url = new URL(“http://bits.blogs.nytimes.com/2014/09/02/uber-banned-across-germany-by-frankfurt-court/?partner=rss&emc=rss”); URLConnection uc; uc = url.openConnection(); uc.setRequestProperty(“User-Agent”, “Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16”); uc.addRequestProperty(“referer”, “http://www.facebook.com”); uc.connect(); this.input = uc.getInputStream(); 我得到这个例外: java.lang.IllegalArgumentException: protocol = http host = null at sun.net.spi.DefaultProxySelector.select(DefaultProxySelector.java:170) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:926) at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:850) at sun.net.www.protocol.http.HttpURLConnection.followRedirect(HttpURLConnection.java:2398) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1557) at […]

解析文档时的Apache Tika和字符限制

可以请任何人帮我解决一下吗? 它可以这样做 Tika tika = new Tika(); tika.setMaxStringLength(10*1024*1024); 但如果你不直接使用Tika,就像这样: ContentHandler textHandler = new BodyContentHandler(); Metadata metadata = new Metadata(); Parser parser = new AutoDetectParser(); ParseContext ps = new ParseContext(); for (InputStream is : getInputStreams()) { parser.parse(is, textHandler, metadata, ps); is.close(); System.out.println(“Title: ” + metadata.get(“title”)); System.out.println(“Author: ” + metadata.get(“Author”)); } 无法设置它,因为您不与WriteOutContentHandler交互。 顺便说一下,它默认设置为-1 ,这意味着没有限制。 但最终的限制是100000个字符。 /** * […]

如何使用OpenNLP创建自定义模型?

我正在尝试使用OpenNLP Java API从文档中提取 名称,技能等实体 。 但它没有提取适当的名称 。 我正在使用opennlp sourceforge链接上提供的模型 这是一段java代码 – public class tikaOpenIntro { public static void main(String[] args) throws IOException, SAXException, TikaException { tikaOpenIntro toi = new tikaOpenIntro(); toi.filest(“”); String cnt = toi.contentEx(); toi.sentenceD(cnt); toi.tokenization(cnt); String names = toi.namefind(toi.Tokens); toi.files(names); } public String Tokens[]; public String contentEx() throws IOException, SAXException, TikaException { InputStream […]

Apache tika检测到csv的mime类型不正确

我使用excel创建了.csv文件,并使用apache tika编写了以下代码: public static boolean checkThatMimeTypeIsCsv(InputStream inputStream) throws IOException { BufferedInputStream bis = new BufferedInputStream(inputStream); AutoDetectParser parser = new AutoDetectParser(); Detector detector = parser.getDetector(); Metadata md = new Metadata(); MediaType mediaType = detector.detect(bis, md); return “text/csv”.equals(mediaType.toString()); } public static void main(String[] args) throws IOException { System.out.println(checkThatMimeTypeIsCsv(new FileInputStream(“Data.csv”))); } 但它返回false ‘。 Tika这么糟糕还是我错过了什么?

使用Tikajar子进行Mimetype检查

我正在开发标准的单独Java批处理。 我正在尝试使用Tika Jars确定文件附件mimetype。 我正在使用Tika 1.4 Jar文件。 我的代码看起来像 Parser parser= new AutoDetectParser(); InputStream stream = new FileInputStream(fileAttachment); int writerHandler =-1; ContentHandler contentHandler= new BodyContentHandler(writerHandler); Metadata metadata= new Metadata(); parser.parse(stream, contentHandler, metadata, new ParseContext()); String mimeType = metadata.get(Metadata.CONTENT_TYPE); logger.debug(“File Attachment: “+fileattachment.getName()+” MimeType is: “+mimeType); 此代码对于office 03和07文档无法正常工作。 从eclipse运行时我得到了正确的mimetypes。 我构建jar文件并从命令运行它给出错误的mimetypes。 out put from command ———— File Attachment: Testpdf.pdf MimeType […]

无法使用TesseractOCRConfig Apache Tika提取扫描的pdf

我的pdf包含扫描图像,我想从中提取文本。 我尝试过:我尝试使用AutoDetectParsers但没有输出。 我按照Apache Tika提取的扫描PDF文件提供的解决方案以及https://issues.apache.org/jira/browse/TIKA-1729上的 Apache Tika Jira,但得到空字符串没有任何错误。 我的配置:Win 7 64位操作系统,JDK 1.8.0_45。 欢迎任何forms的帮助。