elasticsearch - 当CouchDB 2.0具有/db/_find时,为什么将Elasticsearch与CouchDB一起使用?

标签 elasticsearch couchdb couchdb-2.0

现在,我们的项目已进入阶段,我们希望使用匹配某些字符串的正则表达式在文档中进行搜索。 CouchDB现在确实允许使用2.0版本和/ db / _find,这很棒。在此之前,您需要使用Elasticsearch。

我想知道一种解决方案是否比另一种更好,磁盘存储的后果又如何呢?
我在CouchDB documentation中看到了很多有关/ bd / _find功能的警告,例如:

Regular expressions do not work with indexes, so they should not be used to filter large data sets.



预先感谢您的启迪

最佳答案

简而言之,如果对_find使用正则表达式,则将针对您发出的每个查询扫描数据库中的所有文档。这与针对自由文本查询进行了优化的Elasticsearch完全不同。

因此,如果您想对reqex查询使用良好的性能,请使用Elasticsearch。

完整的外观稍微复杂一点:如果您还有一个可以使用索引的固定部分,则可以优化查询。如果您详细说明您的用例是什么,我也许可以提供进一步的帮助。

关于elasticsearch - 当CouchDB 2.0具有/db/_find时,为什么将Elasticsearch与CouchDB一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43114553/

相关文章:

ruby-on-rails - Elasticsearch rails/Elasticsearch 模型搜索模型关联

Elasticsearch Pattern_capture 过滤器也会发出与模式不匹配的标记

indexing - CouchDB 用于索引聚合数据的这项技术的通用名称是什么

amazon-s3 - 我应该将附件存储在 CouchDB 还是 S3 中?

mapreduce - 使用 CouchDB View ,我可以同时计算组数并按键范围过滤吗?

elasticsearch - 通过Elasticsearch中的聚合获取完整的术语内容

javascript - 使用 ElasticSearch 连接查询

基于角色的 CouchDB 每字段读取权限

erlang - 如何在 CouchDB 中创建 Erlang View

database - 如何将文档从一个数据库复制到另一个数据库,并在复制完成后删除原始数据库上的文档