zoukankan      html  css  js  c++  java
  • 利用Lucene.net对附件做搜索

        最近研究了个全文搜索的,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 添加索引
     
     

    Code

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

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

     2 搜索

       

    Code

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

     3 删除索引

    Code

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

     4 其他一些辅助属性

    Code

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

    Code

    最后看下Demo的界面

    Demo源码下载 

  • 相关阅读:
    程序数据集算地数据库
    使用属性升级mybank
    第一个C#程序
    CSS3动画
    定位网页元素的解析
    CSS3中的浮动
    CSS中的盒子模型
    (十三)mybatis 整合 ehcache
    (十二)mybatis 查询缓存
    (十一)延迟加载
  • 原文地址:https://www.cnblogs.com/qiba78/p/1257433.html
Copyright © 2011-2022 走看看