Lucene.Net。想尝试着给数据库加上全文检索的功能。

早就听说Lucene的API很复杂难用,看了几篇文档之后有了打退堂鼓的念头。。。已经不单单是API的问题了,就那个检索的语法就。。。

这个例子中是这样的。

论坛里也有使用Entity Framework的例子,不过我对两者都不怎么熟悉。。。

这里顺便抱怨一句,之所以使用Linq To SQL少就是因为它的DataContex的生命周期管理比较复杂,网上也有很多相关的讨论。对比我比较熟悉的Nhibernate来说,感觉上new一个DataContex比Get一个Session开销是要大很多的,因为DataContex应该也做了NH中SessionFactory的一些操作。当然这只是我的主观臆测,求指正。

这里。可以通过NH的Interceptor实时的更新index,正是我想要的东西,开工~~~

这里下载到了对应NH2.1的dll。

代码就不贴了,只是照着老莫的例子在我的数据库结构上试了一下。谈一下几个小的感想吧。

一是还不知道怎么取出相关度来,只是看到可以按照相关度排序(Sort类提供的RELEVANCE对象),相比而言,前面提及的Linq to  Lucene中通过实现IHit就能得到相关度还是很贴心的。有经验的请指教吧。

二是混合一些字段的全文检索和另一些字段的普通数据库检索,大概是通过在IFullTextQuery上调用SetCriteriaQuery实现的,但是我不会写Criteria啊~~杯具。。。哪天找时间看看LinqToNH是怎么把表达式翻译成Criteria的吧(不过真没有动力,反正NH3里就不用了)

最后,FullTextQuery没有实现Future方法啊?呵呵。

相关文章:

  • 2022-01-23
  • 2021-10-24
  • 2021-11-26
  • 2022-01-06
猜你喜欢
  • 2022-12-23
  • 2021-08-26
  • 2021-09-22
  • 2022-02-23
  • 2022-12-23
相关资源
相似解决方案