设计和一般问题 - Elastic Search Nest

Design and General Questions - Elastic Search Nest

我刚开始使用 Elastic 搜索,必须使用 Nest 客户端工作。我对索引的设计几乎没有疑问。谁能帮我解答一下。

  1. 是否可以跨不同类型进行全局搜索?为了 例如:我的网站上有论坛帖子、维基页面和博客页面。所以 当我搜索一个词时,我可以对这三个词进行全局搜索吗 并产生结果。如何索引文档以实现此目的? (最佳示例:Google 搜索。搜索 elastic,它会显示结果 跨网页、图像、视频等)

  2. 我正在阅读自动完成的文档并遇到了 另一个功能上下文建议器。有什么区别 这两个?从文档中可以清楚地看出自动完成是 比如在我们键入时建议和填充单词(基于我们使用的分析器),在上下文建议器中我们已经预定义了建议。我的理解正确吗?但是我 不明白在什么情况下做 我们使用自动完成和上下文提示器。

  3. 除了elastic guide还有其他资源可以入手吗 巢穴?

很抱歉提出非常笼统的问题(正如我所说,我是 Elastic 搜索的新手)。不知道我能不能在这里问这些问题。

提前致谢。

  1. 是的,可以在相同索引和不同索引中跨不同类型执行全局搜索。

    通常建议每个索引只有一种类型(除非你有充分的理由不要太多,例如parent/child文档之间的关系,类型之间的层次继承关系应用)。将类型想象成预定义的过滤器。许多功能在索引级别工作,例如completion suggester,文档字段类型,所以有单独的索引可以减轻一些潜在的混淆原因,并且当不再需要其中的文档时删除整个索引是一个快速的操作(与删除索引中要保留的许多文档相比)。

  2. Completion suggester and Context suggester are great for scenarios where you need to provide "completion as you type". They are extremely fast due to the Finite State Transducer (FST) data structure 他们使用;基本上只需要评估从当前节点(键入的字符)跟随的图形路径以提供建议。

    因为这两个建议者使用 FST,所以您无法像使用倒排索引数据结构的搜索那样使用查询 DSL 过滤器。 Context Suggester 本质上是 Completion Suggester 的扩展,它以类别(术语数组)或与完成数据相关联的地理位置的形式提供一些过滤。

    通常将建议器与其他搜索方法结合使用以形成整体策略很有用。

  3. Elasticsearch Definitive Guide Online is a great resource to start with, written by two members of Elastic and updated in line with new releases. Other resources that you may find pragmatically useful are Elasticsearch in Action and Relevant Search. Check out the NEST documentation for getting started, and if you have questions, the discussion forums 可能是 Elastic 以及更广泛的 IR/Search 社区经常光顾他们。