用于文件路径索引解决方案的Lucene.NET结构

时间:2012-03-02 12:33:12

标签: wpf c#-4.0 lucene.net lucene

我试图在C#.NET 4.0和WPF中创建一个应用程序索引:

  1. 文件名(" taskmgr.exe")
  2. 文件说明(" Windows任务管理器")
  3. 绝对父目录(" C:\ Windows \ System32")
  4. 在用户计算机的所有硬盘上。

    我没有索引文件的内容 - 只是文件名/路径/描述。另请注意,我只对索引扩展名为.DOC,.MP3,.EXE,。CS,.CPP的实际文件编制索引。我不会将无扩展名文件,自定义扩展,DLL或其他类型的索引编入索引。

    我对Lucene来说是全新的,我已经阅读了几篇关于如何设计文档/索引结构的初学者文章。

    我认为我的Lucene文档结构可能是这样的,每个文件都是一个新文档,上面列出了三个字段作为三个键对值。这是推荐的吗?和Lucene一起选择正确的选择吗?搜索文件名是否是实时的(列表可以,没有太多延迟,动态扩展和收缩所有可能的文件名和路径)?

    如果需要任何统计信息,我的硬盘驱动器为450 GB,我有681,014个(所有扩展名)文件和165,732个文件夹。

2 个答案:

答案 0 :(得分:1)

Lucene也是如此;问题是:您的用户想要什么?如果他们搜索“任务”,它是否应匹配名称,描述或父目录中包含它的任何文件?如果是这样,那么这应该是所有一个领域。

您的用户是否希望更具体(例如filename:task)?如果是这样,那么您将需要单独的字段。

暂且不说:你可能想要使用Solr。它更容易设置,并防止一些常见的陷阱。

答案 1 :(得分:1)

这是一个带有dotLucene(现为Lucene.net)的rather old article,但对于编写Lucene桌面搜索应用程序的新手非常有用。

注意:Lucene.net 3.0 API发生了重大变化,因此仅将其用作指南。