2012-01-30 103 views
3

我很好奇NoSQL解决方案如何在跨多个服务器分布的非常大的表中支持关键字搜索?NoSQL关键字在大表中搜索

通过关键词搜索,我的意思是像谷歌一个一个DB了,用的文件数量巨大,并与回答这样的问题像找到“家在纽约”确实非常快的能力。

我看到非常简单的解决方案来支持NoMysql解决方案中的OR操作(例如,像“A或B或C”这样的查询) - 只是使用另一个非常大的分布式表格,在这种情况下,给定“A或B或C”,我们可以直接转到索引表中的“A”或“B”或“C”条目并收集所有文档ID。然后,一旦我们有了自己的文件来获取文件。

但如何设计一个数据库,将支持高效率和操作(例如,如果我需要寻找“A和B和C”)?

+0

对于“分布在多台服务器上的非常大的表”,使用mongodb你会想要看分片;请参阅文档:http://www.mongodb.org/download/attachments/2097354/how+queries+work+with+sharding.pdf,以及关于高效模式设计的mongodb文档:http://www.mongodb。 org/display/DOCS/Schema + Design – Barrie 2012-01-30 16:47:10

回答

3

我建议你看一看elasticsearchsolr

+0

似乎他们已经解决了类似的问题,但了解什么是支持高效AND操作的设计很有趣? – diemacht 2012-01-30 07:47:19