【问题标题】:.Net Full Text Search Library.Net 全文搜索库
【发布时间】:2010-10-20 01:46:44
【问题描述】:

我昨天发布了一个question,关于在 nhibernate v2 中使用 Nhibernate 搜索,但没有收到任何回复。这向我证实,我需要重新考虑使用 NHibernate.Search 并查看替代的全文搜索解决方案。我希望能够对文档进行索引和搜索,并在搜索结果中显示文档的相关摘录。

如果我不能使用 Nhibernate.search,那么我自己将 Lucene 集成到 Nhibernate 中似乎没有多大意义,有没有其他选择。我看过Searcharoo,我很喜欢它,因为它的代码有据可查,我很乐意将它集成到 Nhibernate 中。

还有其他我应该查看的库吗?我应该只使用没有 Nhibernate.Search 的 lucene 吗?

【问题讨论】:

    标签: .net nhibernate full-text-search


    【解决方案1】:

    Lucene.Net 是我在各种项目中使用的东西。

    LINQ to Lucene 是我从事的一个项目,可以解决您的一些问题。 Lucene 要求您严格控制索引和搜索。当您想为大型系统构建高性能搜索引擎时,这非常有用。不好,如果您只想要在幕后“正常工作”的东西。

    我在LINQ To Lucene 上为 LINQ to SQL 类写了一篇文章,但它适用于任何 POCO 情况。

    更新: 我不熟悉 Nhibernate 到 Lucene 系统,也不知道它的可配置性。 在使用 Lucene.Net 构建真正的搜索子系统之后,我遇到了一些在构建索引和查询它们时必须处理的棘手问题。

    • 搜索索引字段的存储非常不同于数据库。数据库架构(或 ORM 实体)与索引“架构”之间很少存在一对一的映射。
    • 如果您想访问高级搜索引擎功能,如加权查询、关键字突出显示、自定义比较器(排序器)(等等) - 您会发现自动 ORMLucene 桥是不够的。所有这些都需要手动构建查询对象图,而不是使用基本的 Lucene 查询语法。

    基本上,如果您希望您的搜索引擎不仅仅是最基本的东西,那么您将希望直接使用 Lucene.Net。

    【讨论】:

    • screamingpens.com 已不复存在 :-(
    • 阿克!我的网络服务器死了。我需要找个新家。感谢您的提醒!
    【解决方案2】:

    我曾经使用 DotLucene,但遇到了一些问题。一个重要的事实是它需要完全信任才能运行。

    我已经开始使用 SearchAroo:http://www.searcharoo.net/

    它使用 XML 数据存储,我发现它的性能与 dot lucene 非常相似。

    如果您正在寻找其他选择,我一定会看看。

    【讨论】:

      猜你喜欢
      • 2013-07-21
      • 2021-10-24
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多