2017-05-08 46 views
0

我期待了解这里的一般策略。我的硬盘上有数百个文件,文件名不同。在我的React/electron应用程序中,我想使用自动建议工具,以便用户可以键入一个名称,然后所有匹配的文件名都被自动提取。带硬盘驱动器上的文件的自动建议(React/Electron)

我该如何最有效地做到这一点?我会在第一步中抓取所有文件名并将它们存储在某种json中,链接到实际的文件,然后将该json传递给我的autosuggest组件?或者我可以直接访问这些文件吗?

一般来说,最有效的方法是什么?

回答

1

这些文件是否仅限于您事先知道的一组文件? (即不是你的整个驱动器)。如果是这样,search-index听起来像它会做的工作:“为浏览器和Node.js持久,网络弹性,全文搜索库”

另一方面,如果您需要动态搜索整个驱动​​器,那将会更困难。有OSX的node-spotlight,可以连接到本地的'Spotlight'搜索引擎。我不知道Windows是否有类似的lib。也许windows.storage.search

+0

谢谢。我事先知道它将是一个包含多个轻量级文件的单个文件夹,但其中很多文件夹都是1k/10k/100k。我使用的是OS X.所以我想我会尝试搜索索引,除非我刚才说的改变了很多东西。 –

0

当用户输入文本时读取文件将是非常昂贵的操作,因为读取硬盘驱动器可能会很慢。 准备可用文件列表并将其提供给自动完成组件。您可以通过侦听硬盘驱动器中系统播放的更改或定期更新文件列表来更新文件列表。

如果您提到平台,可以给出更准确的答案。