Indexing Couchbase或Riak作为搜索引擎的数据存储

Indexing Couchbase或Riak作为搜索引擎的数据存储,indexing,couchdb,search-engine,riak,couchbase,Indexing,Couchdb,Search Engine,Riak,Couchbase,我想实现文本搜索引擎。要索引的文档将是带有权重的术语列表。 查询是一个简单的术语列表。 搜索的输出应该是一个按相关性匹配排序的列表(对照术语及其权重) 我需要存储的数据很大!它不适合单个节点。因此,最终存储必须易于分发。 您建议使用哪种数据库存储? 经过一些分析,我想在Couchbase和Riak之间做出选择 [编辑] 你觉得简单的关系数据库怎么样?它们已经有了一些很好的分发机制(例如:Postgres 9内置了) [/编辑] Riak有内置搜索功能,但据我所知,我不想使用它,因为我需要索引来获

我想实现文本搜索引擎。要索引的文档将是带有权重的术语列表。
查询是一个简单的术语列表。
搜索的输出应该是一个按相关性匹配排序的列表(对照术语及其权重) 我需要存储的数据很大!它不适合单个节点。因此,最终存储必须易于分发。

您建议使用哪种数据库存储? 经过一些分析,我想在Couchbase和Riak之间做出选择

[编辑] 你觉得简单的关系数据库怎么样?它们已经有了一些很好的分发机制(例如:Postgres 9内置了) [/编辑]

Riak有内置搜索功能,但据我所知,我不想使用它,因为我需要索引来获取响应(而是为每个查询计算响应)

另一方面,Couchbase 2“为JSON文档添加二级索引。索引通过视图创建,然后可以查询。索引是均匀分布的。”

这听起来对Couchbase来说是一个很大的好处

我使用了ElasticSearch和CouchDB,它工作得很好

我使用了ElasticSearch和CouchDB,效果非常好

我推荐全文搜索,它功能强大,借鉴了大多数优点,同时仍然具有透明的容错性、可复制性和可扩展性。如果您的数据不适合单个节点,那么它可能是最平衡的开放源代码解决方案。

我建议您使用全文搜索,它功能非常强大,并借鉴了大多数优点,同时仍然具有透明的容错性、可复制性和可扩展性。如果您的数据不适合单个节点,那么它可能是最平衡的开源解决方案。

回答“我是否可以/应该使用数据库存储索引文档?”

这是一种相当常见的模式。一些组织(保留名称以保护无辜者)将Solr用作索引和相关性引擎,从搜索中只返回主键,然后转身从数据库存储中检索实际文档

然而,这种方法存在挑战;主要是保持两个系统(solr和db)同步。Couchbase使用其跨数据中心复制技术来保持ElasticSearch实例的同步;Riak 2刚刚发布,有效地为数据库的每个碎片自动创建一个Solr索引。根据您的用例,两者都可以很好地工作。此外,您显然可以使用队列等进行自己的同步

有关两个DBs的更多详细信息,请访问


回答“我可以/应该使用数据库存储索引文档吗?”

这是一种相当常见的模式。一些组织(保留名称以保护无辜者)将Solr用作索引和相关性引擎,从搜索中只返回主键,然后转身从数据库存储中检索实际文档

然而,这种方法存在挑战;主要是保持两个系统(solr和db)同步。Couchbase使用其跨数据中心复制技术来保持ElasticSearch实例的同步;Riak 2刚刚发布,有效地为数据库的每个碎片自动创建一个Solr索引。根据您的用例,两者都可以很好地工作。此外,您显然可以使用队列等进行自己的同步

有关两个DBs的更多详细信息,请访问


刚刚添加了缺少的要求:存储必须易于分发,因为数据大小可能超出单个节点。ElasticSearch是否能很好地配合数据分发?是的,我不知道您的具体规格,但听起来非常接近。有关更多信息,请查看Freenode(IRC)#ElasticSearch刚刚添加了缺少的要求:存储必须易于分发,因为数据大小可能超出单个节点。ElasticSearch是否能很好地配合数据分发?是的,我不知道您的具体规格,但听起来非常接近。更多信息检查(US)在FeleNoDE(IRC)SysRealStCyScChink,如果我不熟悉CoucBASE或RiAK,我应该在哪里寻找建议?对于文本搜索,考虑SOLR(成熟但难以碎片)或弹性搜索(设计为自动碎片)。然后在CouchDB、Riak或其他NoSQL数据库中集成Lucene(like)用于文本搜索。特殊:狮身人面像全文存储为MySQL或其他文本搜索RDBMS集成。那么如果我不需要用CoucBASE或RiAK进行文本搜索,我应该在哪里寻找建议?对于文本搜索,考虑SOLR(成熟但难以碎片)或弹性搜索(设计为自动碎片)。然后在CouchDB、Riak或其他NoSQL数据库中集成Lucene(like)用于文本搜索。特别:Sphinx全文存储用于MySQL或其他文本搜索RDBMS集成。谢谢。事实上,正如问题所述,我正在考虑里亚克。我正在从人们那里寻找一些关于如何使用Riak的建议或意见。你可以在Riak的邮件列表中找到许多出于不同目的使用Riak的人:谢谢。事实上,正如问题所述,我正在考虑里亚克。我正在从人们那里寻找一些关于如何使用Riak的建议或意见。你可以在Riak的邮件列表中找到许多出于不同目的使用Riak的人: