我创建了一个提要脚本基于:https://github.com/jprante/elasticsearch-jdbc/wiki/jdbc-plugin-feeder-mode-as-an-alternative-to-the-deprecated-elasticsearch-river-api
我没有在上面的例子中添加任何新属性(当然改变了DB设置等)。该表被索引得相当快,然后feeder脚本优雅地终止。当新记录添加到db时,我需要做什么才能使feeder脚本持久化并从mysql db(近)实时获取更新?
谢谢你们
更新:
弹性搜索版本是1.4.4,安装了插件river和head。
您有几个选项来获得近乎实时的行为,但它会带来一些成本。
可以在写入所有数据后完成。
https://www.elastic.co/guide/en/elasticsearch/reference/current/indices-refresh.html
您可以将索引刷新绑定设置为短时间跨度。
{
"settings": {
"refresh_interval": "1s"
}
}
有关详细信息,请参阅:https://www.elastic.co/guide/en/elasticsearch/guide/current/near-real-time.html
感谢大家的关注。
我最终决定在DB和ES中创建文档。我在获得新文档中的任何值之前刷新索引(在索引中创建文档之后)。我知道这不是一个“理想”的情况,但现在解决了我的问题。