2013-04-24 40 views
0

我們的數據庫存儲相冊和照片。 每個專輯都有標題,標籤,說明。 每張照片都有標題,標籤和說明。在MVC Ajax應用程序中搜索MongoDB內容的建議

我想要的只是當用戶在搜索框中鍵入一個單詞時顯示5個搜索結果的能力。

然後每頁顯示50個搜索結果等等。

  1. 我應該索引哪些字段 - 只有標題或標記(ar嵌入數組)或兩者?
  2. 如何使用最佳搜索體驗 - MongoDB提交的索引或其他類型的索引? 解決方案必須隨着數據增長而擴展。

如果任何人都可以幫助我一些關於如何進行的指導,那將是很棒的。

我仍在使用舊版本的MongoDB 1.8

感謝

+0

你應該索引您正在搜索的字段。如果您正在進行關鍵字搜索,請查看:http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/。但是,如果您正在尋找全文搜索解決方案,在10gen發佈專爲生產而設計的「文本」搜索功能之前,我建議您查看Solr或ElasticSearch。 – WiredPrairie 2013-04-24 20:31:49

+0

而且,升級到2.4+。 :)自1.8以來,有很多新功能和性能增強。 – WiredPrairie 2013-04-24 20:32:42

+0

嘿WiredPrairie,如果10gen發佈文本搜索,那麼會取代Lucene \ Solr?在這種情況下,尋找Lucene \ Solr搜索解決方案的投資回報不夠,因爲這將是暫時的。什麼是Mongodb推薦的搜索解決方案,用於大型文本搜索生產? – kheya 2013-04-24 21:13:58

回答

0

如果您只需要標題是搜索按你最後的評論,那麼你可以只用$正則表達式運算符:

http://docs.mongodb.org/manual/reference/operator/regex/#op._S_regex

如果你定位正則表達式(即/^something /),那麼它甚至會使用你的索引,這將是超快的。

儘管如此,在一個巨大的數據庫上的這種表現並不會太棒。

否則,WiredPrairie建議,看看關鍵詞搜索:

http://docs.mongodb.org/manual/tutorial/model-data-for-keyword-search/

相關問題