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) { IIndexbookIndex = 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