我正在开发一个文件名搜索工具。我想搜索一个硬盘(或多个硬盘),可能是数百万个文件名。
鉴于文件: application 3 - jack smithinson
搜索:
application
','3
','jack
','smithinson
'smith
'inson
'应该都返回此文件。
此类操作的最佳数据结构是什么?为什么?
答案 0 :(得分:8)
将这些文件名存储在Lucene索引中。您可以在这里找到更多信息 http://incubator.apache.org/lucene.net/ Lucene允许您为搜索创建高度优化的索引。雅虎多年来一直在使用它的网络搜索引擎。 它提供了一种创建索引的抽象方法,而无需担心内部实现。它就像在内存中创建xml文档然后将其序列化到磁盘
一样简单