Easysearch、Elasticsearch 还是 Opensearch,是个问题

自定义id带来的问题

Elasticsearch | 作者 cht | 发布于2019年03月07日 | 阅读数:3107

我们目前业务使用了自定义id,md5(uid+someid), 目的是为了再次更新方便。但是这样有两个问题,1: 这种随机的自定义id,压缩比很低,空间占用高。2: 指定id bulk index 的时候,es 会先判断 id 是否存在,然后再插入。这样随着数据量的增加,性能持续下降。 不知道大家有什么好办法,对应这种需要持续更新的数据。 数据量还挺大的。
已邀请:

rochy - rochy_he

赞同来自:

指定id bulk index 的时候,es 会先判断 id 是否存在,然后再插入
这个可用使用 update 的 upsert 功能,可单个操作达到效果

fanmo3yuan

赞同来自:

1. id的生成策略尽量是对压缩友好的,避免过于随机,比如按序生成
2. 想到一点减小id是否存在的判断成本,是否考虑使用路由,相当于指定了插入doc所在的shard,减少判断是否存在的数据量

liutianhao

赞同来自:

自定义id会导致分片数据不均吧,楼主怎么解决的呢,求指教

要回复问题请先登录注册