1

看到这篇关于Cloudant 搜索功能的相对较旧的博文。

正在寻找一些查询的答案,因为我们使用 Cloudant Heroku 插件并且需要支持搜索查询:

  • 是否可以将基于 Lucene 的搜索索引存储在 CouchDB 本身中,这样如果我们复制数据库(例如,复制到移动设备上的 Couchbase/CouchDB),那么索引数据也会随之而来?

  • 索引是否适用于复制的 CouchDB 数据库或仅适用于 Cloudant?

  • 如果我们将 PDF 作为附件存储在 CouchDB 文档中怎么办?是否支持开箱即用地索引和搜索这些字段?我们是否应该解析 PDF 并编写自己的分析器,然后将其导入 Cloudant?

  • 如果我们想要支持搜索从 Cloudant 复制到移动设备上的本地 CouchDB 实例的 CouchDB 的 PDF“附件”的内容,那么最好的方法是什么?

如果有人可以提供一些通过 Cloudant 实现这些目标的指示,那就太好了。

我知道有一些替代品,如这里提到的 CouchDB-Lucene

但由于我们使用 Cloudant 作为中央 CouchDB,很想知道这是否可以轻松完成。

谢谢

4

1 回答 1

3

是否可以将基于 Lucene 的搜索索引存储在 CouchDB 本身中,这样如果我们复制数据库(例如,复制到移动设备上的 Couchbase/CouchDB),那么索引数据也会随之而来?

Cloudant 上的搜索索引始终存储在数据库之外。与视图数据一样,它们不会被复制。否则,我们无法使用 Lucene 高度优化的磁盘格式。

索引是否适用于复制的 CouchDB 数据库或仅适用于 Cloudant?

搜索索引仅适用于 Cloudant(使用设计文档中的“索引”字段)。您需要为移动设备或复制的 vanilla-CouchDB 实例提供单独的解决方案。

如果我们将 PDF 作为附件存储在 CouchDB 文档中怎么办?是否支持开箱即用地索引和搜索这些字段?我们是否应该解析 PDF 并编写自己的分析器,然后将其导入 Cloudant?

目前,您需要使用 Tika 之类的工具自己解析 PDF 中的文本,并将其存储在文档中的一个字段中,然后通过搜索对其进行索引。不太可能支持自定义分析器,但可能会支持索引二进制文件。

如果我们想要支持搜索从 Cloudant 复制到移动设备上的本地 CouchDB 实例的 CouchDB 的 PDF“附件”的内容,那么最好的方法是什么?

这取决于平台。由于您已经解析出用于 Cloudant 搜索的 PDF 文本,因此您可以使用设备上的本地搜索 API。不幸的是,这些在地面上还有些薄,我还没有时间自己尝试。据我所知,目前 iOS 上还没有 SearchKit 很遗憾。

或者,您可以使用 Cloudant 的搜索进行在线搜索,然后从本地数据库中提取文档,就像您拥有文档 ID 一样。

于 2013-04-28T11:14:23.920 回答