如何在弹性搜索中索引文档?

时间:2021-06-04 18:43:53

标签: python elasticsearch

我有几百万个(pdf、docx、doc)文件,每个文件可能包含大约 2-4 页的文本。

我的问题是我有一个用例,我有一个文档,我想从那数百万个文件中获取类似的文档。 (即,将一个文档与所有其他文档匹配并获得 n 个匹配)

我可以使用弹性搜索吗,它是否可扩展?在这种情况下,我应该如何索引文档?我是否只是从 pdf 文档中提取文本并将其存储在 json 对象中,然后使用弹性搜索将其作为文档插入到索引中。

这是最有效的解决方案吗?

1 个答案:

答案 0 :(得分:0)

您可以使用 filebeat 代理(ELK Stack 的一部分)安装到生成文件的源服务器中。它可以将所有文档导出到 kafka 主题(以便保留)。在 Elastic 中,您可以创建管道来提取、解析、匹配和转换您想要执行的数据。您还可以基于 group-id 创建多个管道,以便每个新管道可以再次拉取相同的数据集,并根据新逻辑解析/匹配/转换。 它具有可扩展性,并且在未来可靠。