使用NodeJS上的ElasticSearch提高应用程序性能

时间:2016-01-26 19:07:42

标签: mysql node.js database elasticsearch sequelize.js

我没有找到我正在寻找的东西,也没有人解释我,所以我在这里问。希望这不是重复...

我有一个使用ORM sequelize和MySQL数据库在NodeJS上运行的应用程序。该项目一年前开始。

我想,现在,要增加性能等,安装ElasticSearch。但我不确定我是否可以。

我可以告诉我的弹性服务器,我的数据库在哪里,而且神奇地说,它只是单独进行映射吗? 或者我是否要在elasticSearch上插入我的数据?

我的所有基础架构都托管在AWS上,我使用的是RDS。可能会有帮助吗? 事实上,我不知道弹性搜索层的位置?你有任何想法可以帮助我。

因为,我已经和Symfony以及FosElasticaBundle一起工作了,但是它很有效,我不知道怎么做。

1 个答案:

答案 0 :(得分:3)

UDPATE:

  • 您可以使用ES http api
  • 您的数据库中的现有数据可以批量索引
  • 您必须处理数据库中的更改,因此您可以使用observe模式,例如created(),saved(),deleted(),这样您就可以在这些方法中处理ES操作以创建,更新或删除文件

Elasticsearch(ES)是一种具有很多可能性的高速机器(高级查询,统计数据等),而不是数据库(请在此处阅读原因:https://www.elastic.co/blog/found-elasticsearch-as-nosql)。

  • 它是分布式的(可以通过多个服务器工作/共享工作)
  • 它是基于文档的(json文档,例如嵌套的父/子关系)
  • 这是基于映射的
  • 它是基于索引的

更多信息:https://www.elastic.co/products/elasticsearch

您可以在ES中使用类型(例如数据库中的表)。

ES根据映射使用索引数据。因此,您仍然需要一个数据库并将数据(非规范化)索引到ES。您可以查询,过滤,汇总,分析索引中的数据。