首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有一种方法可以使用Elastic中的ingest附件插件

有没有一种方法可以使用Elastic中的ingest附件插件
EN

Server Fault用户
提问于 2021-07-08 09:54:05
回答 1查看 545关注 0票数 1

我正在开发一个门户,它承载了多种类型的文档(HTML、PDF、PPTx、DocX),并使它们都可以在一个地方搜索。

我们可以使用开箱即用的“标准”ElasticSearch和Ingest附件插件来实现这一点,但我不是数据科学家,对编写弹性查询知之甚少,所以我们的搜索结果并不好。

有人建议我使用Enterprise,而不是尝试调优我的基本查询,但我似乎不能使用它的附件插件。因此,我不能简单地将base64编码的内容发送到documents并期望将内容编入索引。

有办法绕过这件事吗?还是我不能用来搜索这个呢?

EN

回答 1

Server Fault用户

发布于 2021-07-11 07:40:11

解决这一问题的方法是像建议的在这篇博客文章中那样利用附件管道来提取附件内容,或者,如果您像我一样在Java中使用后端,您可以使用阿帕奇蒂卡从附件中提取内容。

我实现了Tika来提取HTML内容(实际上是非常直接的)

代码语言:javascript
复制
static String getContent(String htmlContent) throws TikaException, SAXException, IOException {
    InputStream input = new ByteArrayInputStream(htmlContent.getBytes());
    ContentHandler handler = new BodyContentHandler();
    Metadata metadata = new Metadata();
    new HtmlParser().parse(input, handler, metadata, new ParseContext());
    return handler.toString();
}

对于PDF文件,我已经使用Apache PdfBox提取了一些其他属性,因此文本是“免费”的。Office文件也是如此,但这需要Apache。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1068989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档