【发布时间】:2014-12-02 01:50:18
【问题描述】:
我即将重建我的 Web 应用程序以使用弹性搜索而不是 mysql 来进行搜索,但我不确定具体该怎么做。
我看了一个 Laracon 视频,因为我的应用程序是基于 Laravel 4.2 构建的,我将使用这个包装器来查询:https://github.com/elasticsearch/elasticsearch
但是,我还是要使用 MySQL 数据库来存放数据,并让 ES 搜索它吗?还是有ES房子并查询数据更好。
如果我走第一条路线,我是否必须在两边都做 CRUD 操作以保持更新?
ES 可以处理 MySQL 可以处理的数据负载吗?意味着数亿行?
我只是在开始整个事情时非常小气。我可以使用一点方向,将不胜感激。除了 MySQL,我从未使用过任何搜索。
【问题讨论】:
-
一个很好的 ES 用例是为数据存储创建一个索引的、可搜索的 JSON 前端。该后端数据存储可以是 MySQL,或日志文件,或其他任何东西。它可以使用分布式系统,但我认为这对于 Laravel 应用程序的后端来说有点矫枉过正。
-
我问的原因是因为数据库有数百万行,每天都会添加和删除数十万行,所以全文索引会变慢,我喜欢每天优化表,如果我使用弹性搜索我假设它不再是必要的,我可以让它运行所有的操作,而我不需要每天处理它。
标签: php mysql ubuntu nginx elasticsearch