【发布时间】:2021-11-05 08:26:00
【问题描述】:
互联网上有一些示例可以为 Elasticsearch 文档自定义 _id 字段,但有没有办法生成多个字段的复合 _id。
样本数据
{
"first_name": "john",
"last_name": "doe",
"dob": "1987-12-21",
"phone": "7894456123".
"so": "on"...
}
如何配置索引管道以从首先连接的 4 个字段生成 _id,对于用例,这些字段被认为是复合主键。
注意事项:
- _id 有字符限制,但 4 个字段的连接可以随时超过。
- 使用某种单独的方式,因此不能有 2 个具有不同字段值但连接值相同的文档。
我考虑使用像MD5 和SHA256 这样的散列算法,它们可以从"|".join(first,last,dob,phone) 生成固定长度的_id。但无法在摄取管道中实现
这不是安全问题,因为我们只是尝试定义一个主键,并且索引是按月滚动的。
所以如果我们能找到一个存储效率高的 _id 值是首选。
如果有其他方法可以实现用例,请提出建议。
【问题讨论】:
标签: elasticsearch pipeline data-ingestion