2015-07-21 84 views
3

我目前正在研究一個Web應用程序,理想情況下,我將能夠支持將要爲用戶存儲的文檔上的搜索欄。這些文件中的每一個都將成爲一個小小的片段,直至尺寸合適的文章。 (我並不認爲任何文檔的搜索目的都會超過幾KB)正如我一直在閱讀關於使用RethinkDB的正確方法,其中一些信息突然出現在我的擔心之中是對非索引數據進行過濾等操作的表現,在這些數據中,我看到有人提到在其中一次調用中花費了多分鐘時間。考慮到我預計,從長遠來看,將會有至少10,000多份文件(以及長期運行,100,000+,1,000,000+等等),有沒有辦法可以在這些文件中搜索標準RethinkDB API中的響應時間爲亞秒(最好在10毫秒)?或者我將不得不提出一個單獨的計劃,允許通過巧妙使用索引進行快速搜索?或者我會更好地使用另一個提供該功能的數據庫嗎?使用RethinkDB進行「全文搜索」

回答

3

如果您不使用索引,您的查詢將不得不查看錶中的每個文檔,所以當您的表變大時它將變慢。在快速硬件上搜索10,000個文檔應該是合理的,但是你可能無法在10毫秒內完成它,並且數百萬個文檔可能會慢速搜索。

你可能想看看elasticsearch的方式來做到這一點:http://www.rethinkdb.com/docs/elasticsearch/

+1

搜索每個文檔的基本願望我有搜索功能,這就是爲什麼我有性能問題。我不知道elasticsearch的功能,這對我的用例來說非常完美,謝謝! – Freezerburn

+0

剛剛在15分鐘前將'rethinkdb'標籤添加到收藏夾中,它已經支付了分紅。全文搜索對我來說仍然是一個問題,但很高興知道有一個等待的解決方案。 – chucksmash