2015-09-03 70 views
-1

現在我們正在使用MongoDB如何在MongoDB中同時對多個集合進行全文搜索

讓我們支持有1億用戶配置文件。在用戶簡檔,我們有

一個)用戶名 B)姓名 c)中LASTNAME d)PHONENUMBER E)地址:{城市,州,國家等} F)描述 克)喜歡(數組列表) 1H)性別等

工作的另一集合,作業字段是 - :

一個)JOBTITLE b)中jobDescritption c)中minPackage d)maxPackage E)jobLoca重刑等

同樣,我們有任務的集合,活動等

有不同的採集爲例喬布斯不同的搜索有它自己的搜索和查看用戶設置的搜索過濾器,我們很容易地查詢它們。

但現在頭版上有共同的搜索框,我們必須做對每個集合防爆全文搜索。如果用戶輸入任何東西比它做從每一個集合全文搜索(用戶,工作,任務等) 。

我的問題是MongoDB是爲了這個目的還是我們不得不使用彈性搜索或其他任何技術

+0

在MongoDB上的文本搜索只在一個集合中,所以你必須合併(所以引入一個非規範化)其中的相關數據。另一方面,這將是一個反規範化,甚至在第三個引擎(外部文本索引服務)上覆制數據。使用Solr或ElasticSearch 歷史上這是有點需要配對的MongoDB,因爲文本索引不存在的,但現在已成爲一個基於意見-A-或-B的問題,所以這是不可能客觀地回答:有采用這兩種解決方案的理由非常充分,具體取決於您的情況。 – dbra

回答

0

我以前配對的MongoDB和Solr取得了巨大成功。有一些工具會嘗試通過遵循oplog來保持Solr和MongoDB同步,但我沒有使用它們。相反,我的應用程序代碼在更改時確保將所需文檔發送到Solr。

+0

第二個答案不是答案(另一個已被刪除)。這是一條評論,僅此而已(甚至不足以適合)。這個問題顯然是「無關緊要」,要求你對這裏的「最好」有什麼看法。最好是讓它獨立,讓最終的封閉排序爲OP。或者留下評論。 –

+0

我不同意這種觀點很明確 - 它可能是一個非英語母語的人,他正在努力制定一個問題。它看起來像一個「什麼是最好的」問題,但可能很容易成爲「如何在MongoDB中進行全文搜索」問題。爲什麼不要求OP澄清或重新制定? – Martin

+0

彈性搜索是更好的選擇這個問題? – abhaygarg12493

相關問題