使用MySQL或ElasticSearch搜索

时间:2016-10-28 19:27:49

标签: php mysql elasticsearch

我在MySQL InnoDB表中以1M行搜索表格时遇到的问题很少。

从这些1M行中,100k是活动的(可以通过许多参数搜索,包括全文和地理搜索)。 MySQL索引没问题,因此查询运行时间不超过300毫秒,但我认为它仍然很糟糕。最糟糕的是偏差 - 查询可能需要几秒钟。

我正在考虑使用ElasticSearch。有人能告诉我它对我有用吗?

在这种情况下,我必须将MySQL数据库与Elastic同步,但如果它值得,我会尝试。

1 个答案:

答案 0 :(得分:2)

elasticsearch是您提高搜索性能和避免偏移所需的解决方案。

elasticsearch用于执行全文和地理位置搜索,而MySQL则用于存储数据。

根据您使用的框架,您可以轻松地将数据从MySQL推送到elasticsearch http://blog.randywallace.com/blog/2013/08/27/pulling-a-large-mysql-table-into-elasticsearch/