如何使用Lucene.Net创建构面

时间:2015-12-15 14:19:43

标签: c# lucene lucene.net

我正在构建一个C#windows窗体应用程序,用于搜索数据库并显示结果。我试图找到一个如何用Lucene创建方面的指南,但似乎我无法做到。我正在创建索引,我能够搜索数据库,但我想为结果创建构面。是否有任何指南或项目可供使用?

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

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

1 个答案:

答案 0 :(得分:3)

有几个选择。

选项#1

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

选项#2

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

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

请注意,虽然演示是在MVC中完成的,但在Windows窗体中进行设置是类似的(实际上更容易,因为当选择更改时,您不需要使用AJAX重新加载结果)。

选项#4

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

的Java上运行

还有.NET client for SOLR - (faceting documentation