我們有兩個站點,一個是在RoR中開發的,另一個是在Python(Django)中開發的。 MongoDB被用作網站的數據存儲。這些網站是基於登錄的。因此,用戶只能看到他們的數據,而不能看到其他用戶的數據。另外,MongoDB中有很多模型,這些模型之間是相互關聯的。數據庫上的抓取和索引
我們必須開發類似於Gmail搜索的搜索功能。在Gmail搜索框中,有許多字段用於過濾目的,如label:
,to:
,from:
,attachment:
等。如果沒有選擇這些字段,則正常搜索完成。令人驚訝的是,對於任何搜索查詢,Gmail搜索結果都以不到1秒的256 kbps帶寬速度獲取。
通過在所有模型中調用多個查詢來搜索關鍵字是不可行的。有關抓取數據庫數據的解決方案,可以查找Google搜索。
在「搜索引擎」上進行谷歌搜索時,出現了一個關於抓取和索引網頁的結果。可用的工具是Lucene Solr + Nutch和Sphinx。但它是用於抓取網頁並使用Nutch和索引關鍵字將關鍵字存儲到數據庫並使用Solr搜索它們。
使用「數據庫搜索引擎」搜索並沒有提供任何具體的結果。
在這個link,在第二點,有人說,MongoDB等似乎服務於沒有要求搜索和/或面的目的。那麼,這是否意味着對MongoDB的爬行和索引是不可行的?
從一般意義上說,不管數據庫工具如何(MySQL,SQLite,PostgreSQL,MongoDB等),是否有類似於數據庫的爬行和索引的東西?
更新:
我們開發很相似到Gmail,但它不是關於郵件服務的網站。我們只需要開發一個搜索功能。因此,Gmail用戶可以看到他們的郵件,而不是其他人的郵件。同樣,我們網站上的內容是特定於用戶的。希望它能夠澄清問題。