我正在使用 node.js 构建一个移动 Boggle 类型的 Web 应用程序。我正在尝试找到一种更有效的方法来加载/构建海量词典(180,000 多个单词)。我目前可以使用它,但加载时间稍长。用户必须等待大约 15 秒才能构建整个事物,并且一些用户在整个事物加载之前会超时。我想知道是否有人有任何提高速度的技巧。
我目前这样做的方式(这可能是完全低效的):
- 我将列表分解为 26 个数组,每个字母一个,然后将每个数组放入它自己的 javascript 文件中。
- 当应用程序加载时,它运行一个递归函数,该函数获取下一个 js 文件并从它加载到数组中,覆盖前一个。然后,它遍历整个数组并将每个新单词加载到我的Trie数据结构中。
- 包含数组的文件组合在 2mb 左右。合并后,数据结构本身的时钟约为 12mb,这在台式计算机上还算不错,但确实让我的几个用户的智能手机不堪重负。
这需要在客户端构建以允许即时查找。我这样做的方式目前有效,但我知道必须有更好的方法。