【问题标题】:Design and General Questions - Elastic Search Nest设计和一般问题 - Elastic Search Nest
【发布时间】:2016-07-05 10:38:22
【问题描述】:

我刚开始使用弹性搜索,必须使用嵌套客户端。我对索引的设计几乎没有疑问。谁能帮我回答一下。

  1. 是否可以跨不同类型进行全局搜索?为了 例如:我的网站中有论坛帖子、wiki 页面和博客页面。所以 当我搜索一个词时,我可以在这三个中进行全局搜索吗 并产生结果。我怎样才能索引文档来实现这一点? (最好的例子:谷歌搜索。搜索弹性,它显示结果 跨网页、图像、视频等)

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

  3. 除了弹性指南,还有其他资源可以开始吗 窝?

对于非常笼统的问题,我深表歉意(正如我所说,我对 Elastic 搜索完全陌生)。不知道我能不能在这里问这些问题。

提前致谢。

【问题讨论】:

标签: nest elasticsearch-net


【解决方案1】:
  1. 是的,可以在同一索引和不同索引中跨不同类型执行全局搜索。

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

  2. Completion suggester 和上下文建议器非常适合需要提供“键入时完成”的场景。由于使用了Finite State Transducer (FST) data structure,它们的速度非常快;基本上只需要评估从当前节点(键入的字符)开始的图形路径以提供建议。

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

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

  3. Elasticsearch Definitive Guide Online 是一个很好的入门资源,由 Elastic 的两名成员编写并根据新版本进行更新。 Elasticsearch in ActionRelevant Search 是您可能会发现实用的其他资源。请查看 the NEST documentation 以了解入门信息,如果您有任何问题,the discussion forums 可能是最好的提问地点,因为 Elastic 的很多人以及更广泛的 IR/搜索社区经常出现他们。

【讨论】:

  • 感谢拉斯的回答。这是一个非常详细的解释,帮助我更多地了解我提出的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-15
  • 2021-01-17
  • 2011-11-30
  • 2017-01-13
  • 1970-01-01
相关资源
最近更新 更多