分面搜索和 Lucene 搜索之间的区别?

Difference between Faceted Search and Lucene search?

我开始了解 Faceted Search 和 Lucene search,并对它们感到困惑。 任何人都请提供有关 Faceted Search 和 Lucene search 之间的区别的想法,哪种情况可以同时应用 serach。

我正在使用 graphQL,是否有任何 graphLQ 客户端可以提供分面搜索功能?

提前致谢

分面搜索是 Lucene 提供的一种搜索,可以搜索特定的数据集。他们还提供 'normal' 查询搜索,可以无偏见地搜索所有文档并提供结果。

两篇很好地解释分面搜索的好帖子 -

Faceted Search with Solr

Faceted Search - User's Guide

Faceted search is the dynamic clustering of items or search results into categories that let users drill into search results (or even skip searching entirely) by any value in any field. Each facet displayed also shows the number of hits within the search that match that category. Users can then “drill down” by applying specific constraints to the search results. - Lucidworks

此外,请查看这些由 lucene 开发人员提供的 examples

如果您想 in-depth 了解 lucene 体系结构甚至作为参考,这是一篇很好的论文 - Architecture and Implementation of Apache Lucene。请参阅索引搜索的搜索部分(即 2.2.7)。这是关于 Lucene 的索引搜索的更多概念 -

Lucene 能够实现快速搜索响应,因为它不是直接搜索文本,而是搜索索引。这相当于通过搜索书后的索引来检索书中与关键字相关的页面,而不是在书的每一页中搜索单词。

这种类型的索引称为倒排索引,因为它将 page-centric 数据结构(page->words)倒置为 keyword-centric 数据结构(word->pages)。

通常,Lucene 会提供组件来在索引中进行搜索并获取搜索查询的命中率。 QueryParser 和 indexSearcher 是大多数基于 Lucene 的搜索引擎中涉及的主要组件。在使用发布列表构建索引后,搜索应用程序将在索引中检索用户查询。它首先使用与索引过程中相同的分析器分析用户查询,然后将用户查询转换为与 Lucene 查询语言相关的查询对象。