1

我正在使用elasticsearchNodeJS 包与 ElasticSearch 进行交互。我有一个包含file字段的文档。我希望能够将文件上传到索引,但我发现的唯一方法是使用 elasticsearch-mapper-attachment 插件。

问题是,如果我使用它,我必须将整个文件加载到内存中,将其编码为 Base64,然后将字符串传递给 ElasticSearch。

我希望能够将 Stream 传递给 ElasticSearch(引用任何二进制文件:pdf、xls、doc、ppt)。

4

1 回答 1

3

elasticsearch-mapper-attachment 插件解析上传的二进制文件并提取文本以使用内置的 Tika 提取器进行进一步索引。

一些应用程序的作用(例如 Search Technology 的 Aspire)——它们通过 Tika 在本地运行二进制文件,提取文本并仅将文本与文档一起上传以进行索引。

这可能不是您正在寻找的答案,但您实际上只有两个选择 - 使用 Elastic 插件(并在将文档上传到 Elastic 之前将二进制文件转换为 yoru 代码中的 base64),或者解析二进制文件并在您的代码中提取文本然后将该文本上传到弹性。前者更容易,后者让您可以更好地控制流程

于 2016-09-29T18:20:31.957 回答