php - 一个同时使用elasticsearch和mysql的app

标签 php mysql elasticsearch

我正在编写一个提供搜索功能的分类广告网站。在我的整个经验中,我一直依赖 mySQL 作为数据存储,因此使用 Elastic Search 进行开发对我来说是新鲜事。

我可以看到三个选项:

  • 在我的应用程序中使用 Elastic Search 作为唯一的存储(有 doctrine ES 扩展)并让它存储所有内容——用户、权限、事件日志等等

  • 使用MySQL,分类只存ID,ES单独拉取所有数据

  • 在 MySQL 和 Elastic Search 中复制数据

通常采用什么方法?

最佳答案

我的建议是坚持使用 mysql 作为主要存储,并利用触发器的力量来处理后台作业并保持 mysql 和 elastic 之间的同步数据。我建议不要使用 elastic-mongo 组合,因为没有官方连接器在那里。

将mysql作为主要存储也将确保为您提供数据备份,以防您的集群发生任何灾难。 确保为集群的批量索引维护适当的队列大小。

或者如果您除了在 S3 或文件系统上进行搜索和备份之外别无他法,则将弹性存储作为唯一的主存储。

关于php - 一个同时使用elasticsearch和mysql的app,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38576717/

相关文章:

javascript - 使用 ajax 和 jQuery 发送 HTML 表单到 PHP

php - imap_delete 不工作

python - Django - 使用unicode主键获取对象

php - 如何限制从 Eloquent 查询中检索的信息并阻止其崩溃?

elasticsearch - Elasticsearch 仅索引可搜索字段

php - preg_match_all ,获取所有包含字符串的 img 标签

php - 如何从表字段MySQL中的字符串获取部分精确值

elasticsearch - Logstash 无法检索存储在 logstash-keystore 中的 key

elasticsearch - 从Elasticsearch获取完全匹配

php - 了解 PHP 类型强制