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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

我目前正在设计一个全文搜索系统,用户可以对MSOffice和PDF文档执行文本查询,结果将返回最适合查询的文档列表。然后,用户将选择返回的任何文档,并在MSWord、Excel或PDF查看器中查看该文档。

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

以前,我使用MongoDB2.6.6将原始文件导入GridFS,并将提取的文本导入单独的集合(集合包含文本索引),并且运行良好。但是,MongoDB全文搜索是非常基本的,因此我现在考虑Solr或ElasticSearch来执行更复杂的文本搜索。

提问于
用户回答回答于

Solr和Elasticsearch都将索引含量这份文件。Solr有内置的,Elasticearch需要一个插件。无论哪种方法都很简单,而且都在封面下使用Tika。

他们都不会存储文档本身。你可以试着让他们去做,但是他们不是为它而设计的,你会受到伤害。

此外,Solr和Elasticsearch目前都不推荐作为主存储。他们可以做到这一点,但对于他们来说,任务并不像文件系统实现那样重要。

因此,我建议将这些文件放在其他地方,并且只使用Solr/Elasticearch进行搜索。那是他们发光的地方。

用户回答回答于

附件类型

附件类型允许索引不同的“附件”类型字段(编码为base 64),例如,MicrosoftOffice格式、打开的文档格式、ePub、HTML等等(完整列表在这里可以找到)。 附件类型作为插件扩展提供。这个插件是一个简单的压缩文件,可以下载并放在$es下面。_家庭/插件位置。它将被自动检测并添加附件类型。

支持的文档格式

  • 超文本标记语言
  • XML和派生格式
  • MicrosoftOffice文档格式
  • OpenDocument格式
  • iWorks文档格式
  • 便携式文件格式
  • 电子出版格式
  • 富文本格式
  • 压缩和封装格式
  • 文本格式
  • 馈送和合并格式
  • 帮助格式
  • 音频格式
  • 图像格式
  • 视频格式
  • Java类文件和档案
  • 源代码
  • 邮件格式
  • CAD格式
  • 字体格式
  • 科学格式
  • 可执行程序和库
  • 密码格式

扫码关注云+社区