1

我开始学习 NoSQL,但我找不到 RavenDB 的一些好的例子。谁能告诉我如何在 RavenDB 中添加 Word、PDF、Excel 等二进制文档作为附件并搜索该文档的内容?有什么例子吗?那可能吗?如何为此制作 MVC 应用程序?

4

1 回答 1

2

首先,了解当我们在 NoSQL 中谈论“文档数据库”时,我们不是在谈论 Word、PDF、Excel 文档。我们通常谈论的是 JSON 格式的文档,它表示一些特定的数据,通常是从域实体序列化的。绝大多数 RavenDB 都专注于处理此类数据。

但是,您确实可以使用您正在谈论的那种文档。它是通过一个附加的“包”完成的,而不是内置的。它被称为“索引附件包”,我写了它。您可以在此处找到源代码。还有一些单元测试显示了如何使用它。例如,请参阅此测试。如果您有兴趣突出显示搜索结果,请参阅此测试

该包使用 Windows IFilters从二进制文档中提取文本。您将需要安装在本地系统上的适合您计划使用的文档类型的 IFilter。如果您打算对 PDF 文件做很多事情,我强烈推荐Foxit PDF IFilter。它比 Adob​​e 的更好更快。如果您只是使用 Word 和 Excel 文档,您可能需要 Microsoft 的 Office IFilters - 下载x86x64以及Service Pack

安装适当的 IFilter 后,只需将附件上传到 RavenDB。该包将拦截上传,使用 IFilter 提取其内容,将内容保存到 JSON 文档,并为该文档编制索引以便于搜索。

您还可以在此处从 Nuget 获取捆绑包的编译版本。dll 需要放在 RavenDB 服务器上的插件目录中。

我目前没有使用此捆绑包的应用程序或网站的完整端到端示例。我也没有关于这个捆绑包的任何文档——所以一定要通读单元测试。

如果您只需要有关附件的一般信息,而不是有关索引或搜索它们的信息,那么您应该阅读RavenDB 文档

于 2013-05-27T18:18:30.243 回答