【问题标题】:Difference between Faceted Search and Lucene search? [closed]分面搜索和 Lucene 搜索之间的区别? [关闭]
【发布时间】:2017-02-16 06:28:40
【问题描述】:

我开始了解 Faceted Search 和 Lucene 搜索,并对此感到困惑。 哪位大神可以说说分面搜索和Lucene搜索的区别,哪一种场景可以同时应用serach。

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

提前致谢

【问题讨论】:

    标签: search lucene graphql faceted-search graphql-js


    【解决方案1】:

    分面搜索是 Lucene 提供的一种搜索,它通过特定的数据集进行搜索。它们还提供“正常”查询搜索,即无偏见地搜索所有文档并提供结果。

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

    Faceted Search with Solr

    Faceted Search - User's Guide

    分面搜索是将项目或搜索结果动态聚类到类别中,使用户可以按任何字段中的任何值深入搜索结果(甚至完全跳过搜索)。显示的每个方面还显示搜索中匹配该类别的命中数。然后,用户可以通过对搜索结果应用特定的约束来“向下钻取”。 - Lucidworks

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

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

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

    这种类型的索引称为倒排索引,因为它将以页面为中心的数据结构(page->words)反转为以关键字为中心的数据结构(word->pages)。

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

    【讨论】:

    • ,有没有graphLQ客户端提供分面搜索功能?
    猜你喜欢
    • 2016-05-29
    • 1970-01-01
    • 2016-11-03
    • 2015-07-17
    • 2010-10-03
    • 2023-03-08
    • 1970-01-01
    • 2010-10-16
    • 2016-02-20
    相关资源
    最近更新 更多