2017-05-08 47 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

當用戶輸入文本時讀取文件將是非常昂貴的操作,因爲讀取硬盤驅動器可能會很慢。 準備可用文件列表並將其提供給自動完成組件。您可以通過偵聽硬盤驅動器中系統播放的更改或定期更新文件列表來更新文件列表。

如果您提到平臺,可以給出更準確的答案。