最近研究了个全文搜索的,Lucene.net,很有名的开源组件(有Java版本)。其实谈不上研 究,就是以前客户有个需要,要能搜索上传文件(如 word Excel Txt 等等),项目中这些附件都存在一个image字段中的,一直没有办法来搜索,本文就讲一下如何利用Lucene.net对附件做搜索功能,并且利用com 组件来读取office内容。
介绍一下Lucene.net的使用,使用了Lucene.Net.dll2.1   Highlighter.Net.dll 2.0(高亮)  Lucene.Net.Analysis.Cn.dll 1.3(划词引擎):
1 添加索引
  
;
        }

        writer.AddDocument(doc);
        writer.Optimize();
        writer.Close();
    }

   其中,把id 的index设为Field.Index.UN_TOKENIZED,差不多就是id做为主键,后面删除索引的时候,直接删除这个id就行

   switch (file.FileType)就是根据附件类型,解析读取内容

 

 2 搜索

   

;
    }

    现在只对标题(title)和内容(file)做了索引,所以只对这两个字段进行搜索. 最后,返回一个DataTable,包括FileID(记录ID,以便下载附件)和Title(标题). 其中对搜索结果使用了高亮显示Highlighter.

 

 3 删除索引

 


    }

    先创建个Term,然后用IndexReader删除

 

 4 其他一些辅助属性

 

#endregion

 

5 通过com组件读取office文档内容

 

#endregion

最后看下Demo的界面

利用Lucene.net对附件做搜索(转载)

Demo源码下载

相关文章:

  • 2022-12-23
  • 2021-12-31
  • 2021-12-30
  • 2022-12-23
  • 2021-11-13
  • 2021-05-29
猜你喜欢
  • 2021-07-08
  • 2021-12-19
  • 2021-11-03
相关资源
相似解决方案