elasticsearch - 使用Elasticsearch + MySQL后端时避免数据复制?

标签 elasticsearch

我正在一个项目中,我们在MySQL中有一些旧数据,现在我们想部署ES以更好地进行全文搜索。

我们仍然希望使用MySQL作为后端数据存储,因为当前系统与此紧密相关。

似乎大多数可用的解决方案都建议在两者之间同步数据,但这将导致将所有文档在ES和MySQL中两次存储两次。由于某些文档可能非常大,我想知道是否有办法只保留一份文档?

谢谢!

最佳答案

不可能。这类似于询问以下内容:如果您在Excel电子表格中有旧数据,是否可以使用MySQL数据库查询数据而不将其也存储在MySQL中?

Elasticsearch不仅是一个解释用户态查询并将其转换为数据库查询的应用程序层,它本身还是一个数据库系统(实际上,它可以用作您的主要数据存储,尽管由于各种缺点不建议使用它)。其搜索功能从根本上取决于如何组织自己的后备存储。 Elasticsearch无法查询其他数据库。

您应该考虑实际需要将数据的哪些部分存储在Elasticsearch中,即哪些字段需要文本完成。您将需要构建一个组件,该组件在Elasticsearch和MySQL数据库之间同步该数据 View 。

关于elasticsearch - 使用Elasticsearch + MySQL后端时避免数据复制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56065490/

相关文章:

elasticsearch - Elasticsearch条款过滤器。 Maxterms?

ElasticSearch - 使用函数得分查询字段值因子与匹配查询

elasticsearch - 对Elastic Search中的索引进行搜索查询时引起不同结果的时区

elasticsearch - Elasticsearch中的嵌套查询

django - 搜索后分页的第二页在django中不起作用

elasticsearch - 在Elastic slowlog中识别使用NEST编写的查询

elasticsearch - 无法开启Elasticsearch动态映射

elasticsearch - 同时使用 Varnish 和 elasticsearch 是一个糟糕的架构选择吗?

java - ElasticSearch 日期映射

python - 如何读取搜索分析器的配置?