【问题标题】:How to create facets with Lucene.Net如何使用 Lucene.Net 创建构面
【发布时间】:2015-12-15 14:19:42
【问题描述】:

我正在构建一个搜索数据库并显示结果的 C# Windows 窗体应用程序。我正在尝试找到有关如何使用 Lucene 创建构面的指南,但似乎我做不到。我正在创建索引并且可以搜索数据库,但我想为结果创建方面。是否有任何指南或项目可用作示例?

EDIT 到目前为止,这是我的项目的链接 https://github.com/assignment128A-adopse/Assignment

任何帮助/建议都会有所帮助

【问题讨论】:

    标签: c# lucene lucene.net


    【解决方案1】:

    有几个选项。

    选项#1

    在 Lucene.Net 4.8.0 中,您可以使用Lucene.Net.Facet 模块来设置分面搜索。请参阅Lucene API documentation

    选项 #2

    您可以使用 Simple Faceted Search contrib 项目,但据我所知,它只会为您分组并获取它们的计数。我相信,如果您需要实际列出与所选方面匹配的内容,您必须自己构建它。

    https://cwiki.apache.org/confluence/display/LUCENENET/Simple+Faceted+Search

    https://github.com/apache/lucenenet/tree/812e1c541f1a00392391c5761fd3dcb7b0aedd88/src/contrib/SimpleFacetedSearch

    https://github.com/apache/lucenenet/blob/3.0.3/test/contrib/SimpleFacetedSearch/TestSimpleFacetedSearch.cs

    选项#3

    使用 BoboBrowse.Net。它是一个全面的搜索引擎,不仅可以计算出方面的数量,还可以选择方面,并通过内置的排序和分页检索匹配列表。还有很多内置的 facet 类型,例如范围和地理位置。

    请注意,尽管演示是在MVC中完成的,但是在Windows表单中进行设置是相似的(实际上更容易,因为您不需要使用Ajax在选择时重新加载结果)。

    选项#4

    使用 SOLR。它是一个基于服务器的解决方案,在 can be set up to do faceted search 的 Java 上运行。

    还有一个.NET client for SOLR - (faceting documentation)

    【讨论】:

    • 感谢您的评论。我想我会选择 BoboBrowse.Net。我如何将演示中提供的 mvc 代码用于我的 windows 窗体应用程序。这有点令人困惑。感谢您的宝贵时间。
    • BoboBrowse.Net 只是一个对象模型,因此它在任何 UI 技术中的工作原理基本相同。首先,您需要建立一个对 bobo 友好的搜索索引为done here。接下来,您应该在应用程序中将 BoboIndexReader 设置为单例实例,并在应用程序关闭时将其处理掉。
    • 您需要在打开阅读器之前setup your facets(在应用程序启动时或您可以选择这样做in xml)。然后,您将选择项与您的 UI(通常是复选框)挂钩,并在每个复选框单击时,您应该 perform a browse 更新 UI 结果。
    • 谢谢帮了我很多忙!
    • @NightOwl888 SimpleFacetedSearch 缺少什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    相关资源
    最近更新 更多