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就可以了。

相关推荐
Rverdoser1 小时前
电脑硬盘分几个区好
大数据
傻啦嘿哟1 小时前
Python 数据分析与可视化实战:从数据清洗到图表呈现
大数据·数据库·人工智能
Theodore_10221 小时前
大数据(2) 大数据处理架构Hadoop
大数据·服务器·hadoop·分布式·ubuntu·架构
簌簌曌2 小时前
CentOS7 + JDK8 虚拟机安装与 Hadoop + Spark 集群搭建实践
大数据·hadoop·spark
冒泡的肥皂3 小时前
强大的ANTLR4语法解析器入门demo
后端·搜索引擎·编程语言
Theodore_10224 小时前
大数据(1) 大数据概述
大数据·hadoop·数据分析·spark·hbase
Aurora_NeAr4 小时前
Apache Spark详解
大数据·后端·spark
IvanCodes6 小时前
六、Sqoop 导出
大数据·hadoop·sqoop
代码匠心7 小时前
从零开始学Flink:揭开实时计算的神秘面纱
java·大数据·后端·flink