LuceneHelper-索引创建与查询帮助类

通过对 Lucene.Net 的进一步封装,然后结合盘古分词类库来简化项目中索引的创建与索引查询功能,需要注意的是,因 Lucene.Net 版本不同,UpdateDocument 功能可能会失效,所以可以先删除索引,再添加索引。

项目地址:

https://gitee.com/snipen/Helper.Core.Library/blob/master/LuceneHelper.cs

索引数据实体模型如下:

public class ViewIndexModel
{
    [LuceneIndexT(LuceneIndexStoreEnum.YES, LuceneIndexIndexEnum.ANALYZED)]
    public int IdentityID { get; set; }

    [LuceneIndexT(LuceneIndexStoreEnum.YES, LuceneIndexIndexEnum.ANALYZED)]
    public string IndexTitle { get; set; }

    [LuceneIndexT(LuceneIndexStoreEnum.YES, LuceneIndexIndexEnum.NOT_ANALYZED)]
    public string IndexSummary { get; set; }

    [LuceneIndexT(LuceneIndexStoreEnum.YES, LuceneIndexIndexEnum.NOT_ANALYZED)]
    public DateTime IndexDateTime { get; set; }
}

初始化 Lucene 相关配置信息

LuceneHelper.Init(Server.MapPath("~/Dict/"), Server.MapPath("~/PanGu/PanGu.xml"));

设置索引数据,再次注意,因版本不同,UpdateDocument 可能会失效

LuceneHelper.Set<ViewIndexModel>(new List<ViewIndexModel>(){ }, "IdentityID");

索引查询,带分页功能

int totalCount = 0;
List<ViewIndexModel> dataList = LuceneHelper.Query<ViewIndexModel>(new string[] { "IndexTitle" }, "123", "IndexDateTime desc", 1, 10, ref totalCount);

管理员

转载请注明出处!如果本博文或者本站对您(网站)的内容/素材构成侵权,请第一时间与本博主联系!

评论提交

wave

Press ESC to close