如何使用Lucene.Net创建facet

本文关键字:创建 facet Net Lucene 何使用 | 更新日期: 2023-09-27 18:26:49

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

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

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

如何使用Lucene.Net创建facet

有几个选项。

选项#1

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

选项#2

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

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

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。它是一个全方面的搜索引擎,不仅可以计算方面计数,还可以选择方面,并通过内置的排序和分页检索匹配列表。还有许多内置的方面类型,如范围和地理位置。

  • 对于Lucene.Net 3.0.3-(NuGet页面,Demo 1,Demo 2)
  • 对于Lucene.Net 2.9.4

注意,尽管演示是在MVC中完成的,但在Windows窗体中设置它是类似的(实际上更容易,因为当选择发生变化时,您不需要使用AJAX来重新加载结果)。

选项#4

使用SOLR。这是一个基于服务器的解决方案,运行在Java上,可以设置为进行分面搜索。

还有一个用于SOLR(faceting documentation)的.NET客户端