我在MySQL中有一个product
表。我也使用Elasticsearch来搜索产品。
我使用this method从product
表更新Elasticsearch。
以下是上述artcile的总结,以解释我如何从MySQL同步Elasticsearch:
- 我有一张table叫:
elasticsearch_tracker
- 每次在
product
表中更改一行时,我都会向elasticsearch_tracker
添加一条记录 elasticsearch_tracker
告诉我Elasticsearch的最新更新- 每10秒读取一次
elasticsearch_tracker
,如果这里有任何行,我会将它们发送到Elasticsearch - Elasticsearch中的每个
product
都有一个tracker_id
,所以我可以告诉Elasticsearch的最新更新是什么
提问
为了从elasticsearch中获取最新的tracker_id
,我必须运行一个查询来获取所有文档中的最大tracker_id
。这似乎涉及到很多不必要的处理,因为我只对max tracker_id
感兴趣
所以我想知道是否可以为我的索引定义一个全局变量(配置变量),并将其命名为max_tracket_id
。现在,如果在每个文档中添加一次tracker_id
,并通过查找其最大值的过程,我可以读取max_tracket_id
的值...显然,每次从MySQL同步到Elasticsearch时,我都必须更新max_tracket_id
。
是否可以在Elasticsearch中为每个索引定义这样一个全局配置变量?我使用的是ES版本6。
1条答案
按热度按时间92vpleto1#
是的,你可以将
max_tracker_id
存储在index metadata中,这是一个很好的地方。要检索它,您只需运行以下命令: