2015-04-07 34 views
0

我想在網絡中使用cmudict文件。它包含170000個單詞及其語音轉錄(以ARPAbet符號表示)。什麼時候應該將JSON分成更小的部分?

http://www.speech.cs.cmu.edu/cgi-bin/cmudict

我想用它JSON格式,搜索用戶引入的任何字,並返回該怎麼念它由syllabe syllabe的解釋。因爲只有39個音素,但是如果用戶引入了文本而不是單個字謄第一個與170000項可能會消耗太多的時間,第二部分是不是在搜索方面非常複雜。

我不知道這是值得的JSON分成例如26份(每首字母之一),只有在相應的文件進行搜索。

另外我不知道JSON是否是最好的格式,但我想在Tumblr或Blogger的免費博客中使用它(或類似的東西是我不想花錢在這)和Javascript是他們支持。我也會聽取有關這方面的建議。

+0

是的,縮小要掃描的選項將使其更有效(即在第一個字母上分割)。 – blex

+0

在這裏可能涵蓋的主題太廣泛了,但是我建議只使用JSON作爲序列化格式的預期目的。您可能需要一個完整的服務(可以使用JSON序列化進行通信)來解決此問題,因爲我認爲您不會使用JSON將170000個單詞下載到客戶端,並讓客戶端在某些優化的查找結構中保存所有內容。我的建議是將數據存儲在具有適當數據結構的字典的服務中,以便能夠快速地進行正確的查找。 –

+0

那麼170k字的數組(?)有多大?是什麼讓你認爲你需要*來拆分它? – zerkms

回答

0

嗯,這是艱難的電話,因爲你必須考慮的下載大小。我會縮短你的所有屬性的名稱要儘可能的小,所以不是重複的「說明」:「簡短描述」,我將與「標清」走出去「的簡短說明」。您正在嘗試使用JavaScript來提供數據文件,這是可以的,因爲您可以依賴緩存,而不是,但最初的下載大小可能相當大。我會做類似var myDictionary = {};在文件的頂部,通過這種方式,您可以引用該變量,因爲它位於全局空間中。當然這是一個有趣的實驗。

相關問題