温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

LINQ To Lucene的示例分析

发布时间:2021-12-01 16:47:59 来源:亿速云 阅读:113 作者:小新 栏目:编程语言

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

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<Book> bookIndex = new Index<Book>();  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的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI