LINQToLucene的示例分析

小编给大家分享一下LINQ To Lucene的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

创新互联建站是一家专业提供阿拉善盟企业网站建设,专注与成都网站制作、网站建设、H5场景定制、小程序制作等业务。10年已为阿拉善盟众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。

lucene是在JAVA中比较有名的开源项目,也有.NET移植版lucene.net,不过在apache的官方网站上还是一个孵化器项目,而且好像2007年就不更新了,现在codeplex上推出了LINQ To Lucene,真是一个好消息。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using Lucene.Linq.Mapping;  using Lucene.Net.Analysis;  using Lucene.Linq;   namespace LinqToLucene1  {  [Document]  public class Book : IIndexable, IHit  {  [Field(FieldIndex.Tokenized,FieldStore.Yes, IsDefault = true)]  public string Title { get; set; }   [Field(FieldIndex.Tokenized, FieldStore.Yes)]  public string Author { get; set; }   [Field(FieldIndex.Tokenized, FieldStore.Yes)]  public string PubTime { get; set; }   [Field(FieldIndex.Tokenized, FieldStore.Yes)]  public string Publisher { get; set; }   region IHit Members   public int DocumentId { get; set; }   public float Relevance { get; set; }   endregion  }  }

linq to lucene采用attribute的方式,非常简单方便。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using Lucene.Net.Documents;  using Lucene.Linq.Mapping;  using Lucene.Linq;  using Lucene.Net.Analysis;   namespace LinqToLucene1  {  public class Program  {  static void Main(string[] args)  {  IIndex bookIndex = new Index();  bookIndex.Add(new Book()  {  Title = "谁都逃不掉的金融危机",  Author = "xxx",  Publisher = "东方出版社",  PubTime = "2008年12月" });  bookIndex.Add(new Book()  {  Title = "许我向你看(“暖伤青春代言人” 辛夷坞《致我们终将逝去的青春》***续作)",  Author = "辛夷坞",  Publisher = "河南文艺出版社",  PubTime = "2008年12月" });  bookIndex.Add(new Book()  {  Title = "大猫儿的TT奋斗史(都市小白领的爆雷囧事录)",  Author = "阿巳",  Publisher = "国际文化出版公司",  PubTime = "2008年12月" });  bookIndex.Add(new Book()  {  Title = "佳期如梦之海上繁花(匪我思存***作品上市)",  Author = "匪我思存",  Publisher = "新世界出版社",  PubTime = "2008年12月" });   var result = from book in bookIndex  where book.Author == "xxx"  select book;   foreach (Book book in result)  {  System.Console.WriteLine(book.Title);  }   System.Console.ReadLine();  }  }  }

不过有个bug,如果写成from Book book in bookIndex 的话,就会报异常。

以上是“LINQ To Lucene的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


当前标题:LINQToLucene的示例分析
地址分享:http://hbruida.cn/article/ghsdoc.html