Elasticsearch文档多个输入字段组成ID实现方法

1、场景描述:

使用Elasticsearch时,有时会需要指定文档id的场景,当文档id需要多个字段组成时,这种业务怎么处理呢?

2、问题描述:

现有一个ElasticSearch文档,假设文档id由userid、 eventTime、place三个字段组成,输入json字段属性为userid,username,place,eventTime,event 等。这时候如何在不改变json字符串的基础上完成文档id由userid 和 eventTime、place组成?

3、具体分析:

Elasticsearch7的特性是文档id要么市默认产生、要么是指定文档id需要输入时指定字段即可,这个指定的字段是一个输入字段,那么我们需要将上述问题:文档id由userid、 eventTime、place三个字段组成,只需要将userid、 eventTime、place三个字段转换成一个唯一的字段即可,最好使用MD5算法,在数据处理时,先将userid、 eventTime、place字段使用下划线连接起来,即:userid_eventTime_place,如concat(userid,eventTime,place,'_') as tid,然后使用MD5(tid)as id就可以了。

相关推荐
喝醉酒的小白1 小时前
ES 集群 A 和 ES 集群 B 数据流通
大数据·elasticsearch·搜索引擎
炭烤玛卡巴卡1 小时前
初学elasticsearch
大数据·学习·elasticsearch·搜索引擎
it噩梦1 小时前
es 中使用update 、create 、index的区别
大数据·elasticsearch
天冬忘忧2 小时前
Flink优化----数据倾斜
大数据·flink
李昊哲小课2 小时前
deepin 安装 zookeeper
大数据·运维·zookeeper·debian·hbase
筒栗子2 小时前
复习打卡大数据篇——Hadoop MapReduce
大数据·hadoop·mapreduce
金州饿霸2 小时前
Hadoop集群(HDFS集群、YARN集群、MapReduce计算框架)
大数据·hadoop·hdfs
椰椰椰耶2 小时前
【文档搜索引擎】搜索模块的完整实现
java·搜索引擎
lucky_syq3 小时前
Spark和MapReduce之间的区别?
大数据·spark·mapreduce
Mitch3113 小时前
【漏洞复现】CVE-2015-3337 Arbitrary File Reading
elasticsearch·网络安全·docker·漏洞复现