弹性与弹性关系数据库

时间:2018-06-02 16:14:39

标签: mysql sql elasticsearch lucene

我很难理解如何构建搜索应用程序的后端,这将需要搜索超过1米以上的文档,并希望在使用基于lucene的索引和关系存储时与以下内容有关的一些建议: / p>

  1. UI是否只针对Elastic进行搜索,主关系存储是否可以作为良好的副本存储?

  2. 如果我的数据本质上是关系的(假设我有两个表,食谱中间成分)依赖于连接,我将如何在搜索数据时向用户显示搜索结果并从中显示只有弹性?

  3. 当用户对数据进行编辑时,更新的编辑内容将存储在关系存储中。然后我会启动三角形弹性的重新索引,以便它在应用程序中立即可搜索吗?更多的意见。

  4. 我认为我缺乏理解源于不了解弹性与传统数据库之间的相互作用。任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:0)

我只是Elasticsearch的初学者,但我已经实现了类似的项目。不同的人可能对这些问题有不同的看法,所以我只是要解释我为解决类似问题所做的工作:

问题1:在我的项目中,我使用Elasticsearch进行搜索。我的Relational DB(MySQL)是数据的主要来源。为了实现这一点,我正在与ES同步ES。此同步过程是一种常见做法,您可以采用不同的方法。我个人选择了explained here方法。为此目的,还有一个开源项目go-mysql-elasticsearch

问题2:这是一个广泛的问题,但denormalize ES数据很常见。 See this article about data modeling

问题3:我的情况如上所述,我采用了将ES与MySQL同步的方法。

相关问题