一尘不染

将ElasticSearch和/或Solr用作MS Office和PDF文档的数据存储

elasticsearch

我目前正在设计一个全文搜索系统,用户可以在其中搜索MS
Office和PDF文档的文本,结果将返回与查询最匹配的文档列表。然后,用户将选择返回的任何文档,并在MS Word,Excel或PDF查看器中查看该文档。

我可以使用ElasticSearch或Solr将原始二进制文档(即.docx,.xlsx,.pdf文件)导入其“数据存储区”,然后根据命令将文档导出到用户的设备以进行查看。

以前,我使用MongoDB
2.6.6将原始文件导入GridFS,然后将提取的文本导入一个单独的集合(该集合包含文本索引),并且工作正常。但是,MongoDB全文搜索是非常基本的,因此我现在正在研究Solr或ElasticSearch来执行更复杂的文本搜索。

缺口


阅读 294

收藏
2020-06-22

共1个答案

一尘不染

Solr和Elasticsearch都将为文档的 内容
建立索引。Solr具有内置功能,Elasticsearch需要一个插件。两种方法都很容易,都可以在底下使用Tika。

他们俩都不会存储文档本身。您可以尝试让他们这样做,但是它们不是为此而设计的,因此您会遭受痛苦。

此外,目前不建议将Solr和Elasticsearch都用作主存储。他们可以做到,但是对于他们来说,任务并不像文件系统实现那样重要。

因此,我建议将文件放在其他位置,并仅使用Solr / Elasticsearch进行搜索。那是他们发光的地方。

2020-06-22