2012-01-30 162 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