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

news/2025/2/12 12:37:58/

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


http://www.ppmy.cn/news/1084085.html

相关文章

什么是分布式系统?

分布式系统是由多个独立的计算机或计算节点组成的系统,这些节点通过消息传递或共享数据的方式进行协调和通信,以实现共同的目标。分布式系统的设计目标是提高系统的可靠性、可扩展性、性能和容错性。 在一个分布式系统中,各个计算机节点之间…

golang操作数据库--gorm框架、redis

目录 1.数据库相关操作(1)非orm框架①引入②初始化③增删改查 (2) io版orm框架 (推荐用这个)①引入②初始化③增删改查④gorm gen的使用 (3) jinzhu版orm框架①引入②初始化③增删改查 2.redis(1)引入(2)初始化①普通初始化②v8初始化③get/set示例 1.数据库相关操作 (1)非orm…

给视频添加背景图片,让它们更具魅力!

想要让你的视频更加出彩吗?给它们添加背景图片是不错的选择!但是,如何做到呢?不用担心,我们的视频剪辑高手可以帮助你轻松实现!我们提供多种背景图片选择,你可以根据自己的喜好和需求进行选择。…

博客系统自动化测试项目实战(测试系列9)

目录 前言: 1.博客前端页面测试用例图 2.测试用例的代码实现 2.1登录页面的测试 2.2博客列表页面的测试 2.3写博客测试 2.4博客详情页面的测试 2.5已发布博客的标题和时间的测试 2.6注销用户的测试 结束语: 前言: 之前小编给大家讲…

Lodash库

Lodash库 1.简介 Lodash 是一个 JavaScript 工具库,提供了许多实用的函数和方法,用于简化 JavaScript 编程的常见任务,例如数组操作、对象操作、函数处理、字符串处理、事件处理等。Lodash 提供了跨浏览器兼容性的工具函数,能够…

linux中busybox与文件系统的关系

busybox与文件系统 在 Linux 中,BusyBox 是一个精简的、多功能的工具集合,它包含了一系列常用的命令和实用程序,如 ls、cp、mkdir 等。BusyBox 的目标是提供一个功能完整而又占用空间较小的工具集合,适用于嵌入式系统或资源受限的…

小程序添加分享和禁用分享功能

小程序添加分享: 添加监听的分享函数onShareAppMeassge: /*** 用户点击右上角分享*/ onShareAppMessage: function () {} 小程序禁用分享: 删除监听的分享函数onshareAppMessage: /*** 用户点击右上角分享*/ // onShareAppMessage: function () {//…

vector容器

1 vector基本概念 功能: vector数据结构和数组非常相似,也称为单端数组 vector与普通数组区别: 不同之处在于数组是静态空间,而vector可以动态扩展 动态扩展: 并不是在原空间之后续接新空间,而是找更…