es版本: 5.x
先说明下情况
有一个关系型数据库,由于搜索的需要,现将搜索业务从原来的数据库查询改为elasticsearch搜索。
每张表都为一个ES的Type,比方说有6张表,就有6个type。每个表中的数据现在有600w左右。
----------------
起初打算结构按照数据库结构设计,即一个Index有多个Type,逛完社区发现有的建议多个index方便管理和维护。
但是有一点,由于关系型数据库的数据业务复杂,批量操作就会将整张表的数据进行修改,甚至删除,但没有提示出哪些数据有变化。
所以往es中导数据的时候要把对应表的数据清理掉再导入,可是没有直接清理Type的操作,找到一个方法使用_delete_by_query删除,但是这样删除整个Type的数据超级慢。
(单表查询,没有关联)
求解决思路。
先说明下情况
有一个关系型数据库,由于搜索的需要,现将搜索业务从原来的数据库查询改为elasticsearch搜索。
每张表都为一个ES的Type,比方说有6张表,就有6个type。每个表中的数据现在有600w左右。
----------------
起初打算结构按照数据库结构设计,即一个Index有多个Type,逛完社区发现有的建议多个index方便管理和维护。
但是有一点,由于关系型数据库的数据业务复杂,批量操作就会将整张表的数据进行修改,甚至删除,但没有提示出哪些数据有变化。
所以往es中导数据的时候要把对应表的数据清理掉再导入,可是没有直接清理Type的操作,找到一个方法使用_delete_by_query删除,但是这样删除整个Type的数据超级慢。
(单表查询,没有关联)
求解决思路。
1 个回复
kennywu76 - Wood
赞同来自: napoay 、laoyang360
为了避免混乱,ES从6.0开始不再支持一个索引下的多个type。