2015-11-02 174 views
0

我對此有一個mongodb集合我創建了一個文本索引,以便我可以通過搜索條件搜索其中的內容,並且我在該索引中有5-6個字段。Mongodb條件搜索

搜索運行良好,但我想進一步優化。我怎樣才能對我的集合執行條件搜索,這給了我很大的查詢優化?

例如,假設我想在查詢字符串"apple"上執行搜索,但僅在那些文件中執行搜索"type": {$in: ["electronics","fruits"]}]。這些類型是由代碼動態創建的,隨着時間的推移會隨着數量的增加而增加。

如何在不影響性能的情況下做到這一點?

回答

0

如果您已經定義了正確的索引,並且同時知道您的數據將按照內容增長並根據內容進行移動,那麼您應該定期更新數據庫統計信息(例如在crontab中)。

+0

你是指什麼數據庫統計數據?你可以詳細說明嗎? –

+0

在每個dbms上,都有一個函數來更新數據庫的統計信息。它現在會根據您的數據重新計算索引的路徑。因此,接下來的查詢將更快,因爲所有查詢都已優化。 – RMS