【问题标题】:What is elastic search什么是弹性搜索
【发布时间】:2020-04-27 02:14:57
【问题描述】:

我只是想知道 Elastic Search 到底是什么。 据说它有助于搜索数据,但是当我看到一些网络研讨会时,感觉就像我必须将我的数据复制到一种 Elastic 数据存储中......这对我来说并不意味着非常优化。这样,在左侧完成的所有修改都必须在右侧报告,并且 Elastic Search 返回的数据可能不是正确的格式。 Elastic Search 可以直接在我的数据库中搜索吗?

它与 Neo4J 图形数据库一起使用。有人已经做过类似的事情了吗?这是否仅取代了 Cypher 查询?

感谢您的建议,帮助我了解 Elastic Search 对我们项目的真正帮助。

【问题讨论】:

  • 想象一下 ElasticSearch 就像它一个数据库。
  • Elasticsearch 非常适合全文搜索。它们是 Neo4j 和 Elasticsearch 之间由 graphaware 创建的桥梁,以便根据 Neo4j 查询搜索和添加相关性。见github.com/graphaware/neo4j-to-elasticsearch我只看到关于这个产品的介绍。
  • 您不应将 Elasticsearch 视为数据库,而是将其视为帮助您快速访问在 Neo4j 中搜索的节点的索引。
  • @Quentin ,Elastic Search 不会将我可以使用的任何节点发回给我,而是将一些其他格式的数据发回给我,以便在 Neo4J 中更有效地搜索?对吗?
  • @user954156 你是对的。

标签: elasticsearch neo4j cypher


【解决方案1】:

Elasticsearch 一个数据库,但它不像您可能习惯的那样是一个关系数据库。这是一个NoSQL 数据库。

您将 JSON 文档插入到索引中。您查询该索引以查找与特定标准匹配的文档。

它也是分片和节点分布的,这赋予了它弹性和可扩展性,而且——如果你设置得当——性能。

这意味着它非常擅长“搜索引擎”风格的数据库查询,但是因为它不是关系型的,所以它不能很容易地完成相当于 SQL JOIN 操作的操作。

一个示例用例是 logstash 和 kibana - 被称为 ELK 堆栈 - 其中系统事件日志(syslog、httpd 日志等)由 logstash 处理以解析元数据 - 例如日志源、引荐来源网址、URL、会话ID等-然后插入到elasticsearch中。

由于每个事件都是一条自包含的信息,这就是 elasticsearch 做得特别好的地方。

然后您可以使用 Kibana 作为可视化引擎来显示您的日志,还可以执行分析 - 大多数点击页面、请求的地理分布、传入的引荐来源、基于时间的请求分布等。

但它也会整理这些日志,因此如果您运行一个具有多个网络服务器节点的非常大的、地理分布的网站 - 或者您的机房中可能只有很多服务器并且想要汇总系统日志 - 您可以提供弹性搜索的全部内容。

它的设计使其擅长处理近乎实时的数据插入和分析。它也适用于“论坛风格”数据模型,因为基本上您所做的只是查询具有特定论坛名称的帖子列表,并查找对特定父节点的回复 - 但它们是独立的“文档”。

所以是的,您可能可以使用它来搜索现有数据库,但您必须考虑您的数据模型 - 您不能只翻译传统的关系模型,您必须将其展平。非规范化在 RDBMS 术语中是一种罪过,但它实际上对搜索引擎非常有用,因为您可以更有效地并行执行查询。

【讨论】:

    【解决方案2】:

    有一些方法可以结合这两种方法。看看这篇博文:

    http://graphaware.com/neo4j/2015/09/30/recommendations-with-neo4j-and-graph-aided-search.html

    【讨论】:

      【解决方案3】:

      数据库无法针对所有用例进行优化,但幸运的是有许多可用的数据库,因此我们可以为每项任务选择最佳的。

      Elasticsearch 优化用于:

      • 过滤文档(完全匹配)
      • 文档的搜索排名(搜索词的相关性)
      • 结果汇总(总和、不同计数、百分位数...)

      Neo4j 优化用于:

      • 图遍历(自然)
      • 在“本地”图邻域(上下文)上运行时的高性能

      实际上两个数据库都使用相同的底层库Lucene 来“索引”数据以供稍后搜索。

      【讨论】:

        【解决方案4】:

        ES 是一个开源、分布式、RESTful、基于 JSON 的搜索引擎。它易于使用、可扩展且灵活。索引功能有助于快速检索搜索查询。

        【讨论】:

          猜你喜欢
          • 2018-05-06
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-11-23
          • 2018-10-26
          • 1970-01-01
          相关资源
          最近更新 更多