我对使用ElasticSearch
感到有点困惑。我现在有一个应用程序(Ruby on Rails
)和一个关系数据库(Mysql
),我试图从ElasticSearch
提供的搜索功能中受益。我仍然希望像以前一样使用我的关系数据库,但我想仅使用ElasticSearch
进行搜索。因此,我可以使用ES作为辅助存储吗?如何告诉我的应用程序始终将数据从Mysql复制到ES?这里有最好的做法吗?
我也听说过couchdb很适合搜索,它是ES的替代品还是提供不同的功能?
答案 0 :(得分:1)
您可以使用Change Data Capture来捕获MySQL中的更改,并使用Logstash或StreamSets(JDBC Input,Elasticsearch Output)将这些更改直接传输到Elasticsearch。您正在使用哪个MySQL版本和存储引擎?
关于CouchDB - 它不能替代Elasticsearch或任何其他面向搜索的数据存储。
答案 1 :(得分:1)
Elasticsearch可用作辅助数据存储。 我们使用Elasticsearch进行搜索,因为它提高了我们的搜索性能。 (我们有数百万条记录要搜索)
我们采取的方法:
确保为弹性搜索文档使用可识别的唯一documentId。这将有助于更新记录。