我正在爲擁有大量收藏(超過100,000首曲目)的發燒友編寫媒體播放器,我的主要目標之一是搜索速度。我想允許用戶進行基於這些因素的谷歌式的搜索他們的整個音樂收藏:即時管理和搜索100,000個以上對象的有效方法? (C#)
- 宋路徑和文件名中的ID3標籤(標題,藝術家,專輯等
- 項目。)
- 歌詞
什麼是對我來說,存儲這些數據,並通過它搜索的最佳方式?目前,我將每個軌道存儲在一個對象中,並遍歷這些對象的數組,根據給定的搜索文本檢查每個變量的字符串匹配。
我遇到了問題,雖然我的搜索無效,因爲它總是一個短語搜索,我不知道如何使它更模糊。像SQLlite這樣的內部數據庫會比這更快嗎?關於如何構建這個系統的任何想法?
我還需要播放列表持久性,以便當他們關閉應用程序並打開應用程序時,他們的播放列表立即加載。我應該如何存儲播放列表信息,以便在應用程序啓動時快速加載播放列表信息?目前,我是JSON編碼整個播放列表,將其存儲在一個文本文件中,並在運行時將其讀入ListView中,但它的播放速度超過20,000首曲目。
謝謝!
SQLLite聽起來很合身。 – 2010-06-01 01:36:40
如果你所做的一切都圍繞着對象,你可以看一個對象數據庫 - 這樣你就可以跳過JSON閱讀。那裏有不少,但我沒有足夠的經驗來提出建議。大多數但不是全部都是商業產品。 – Jay 2010-06-01 01:50:05