fuse.js 半长查询需要 10 秒以上

fuse.js takes 10+ seconds with semi-long queries

我有一个包含 27k+ 个条目的 JSON 数据库,我正在使用 fuse.js 来搜索它们。 每个条目中包含大约 500 个字符的文本。

当我搜索超过 15 个字符的内容时,需要几秒钟的时间,甚至可能会导致服务器在处理它时停止运行。

例如1 results for 'crunchy munchy cheeeese' found in about 3.40 seconds.

var search = new Fuse(db.sites, {
  keys: ['t', 'dc','kw'], // Title, description and keywords
  threshold:0.4,
  minMatchCharLength:3
})
setInterval(() => {
  search.setCollection(db.sites) // Update the documents to the latest ones
}, 120000);

关于如何加快速度的任何帮助?

我 运行 遇到了 w/Fuse 处理大型数据集的速度非常慢的问题。不幸的是,对我来说最好的解决方案是自己实现一个基本的模糊搜索,方法是将每个搜索到的 属性 值转换为小写并将其与我也小写的搜索查询进行比较(以避免 case-sensitive 问题)然后运行 它在一个单独的线程中,这样它就不会阻塞主线程。 Fuse 似乎不是为大型数据集设计的。