Spring Data Elasticsearch 删除@Id 字段中的加号 (+)

Spring Data Elasticsearch removing plus sign (+) in @Id field

我正在使用 elasticsearch 开发 Spring 启动应用程序,我正在使用 spring 数据 elasticsearch。我有 id 字段用 @Id 注释。对于 id 字段,我插入了一个值,其中包含一些符号,包括 (+) 加号。像这样 10245365#1245+78965。每当我获得数据时,我都会看到 (+) 被替换为 space。 id 现在是 10245365#1245 78965。那么是否有任何修复允许@Id 的偶数符号?所以有人可以帮助我吗?非常感谢。

这里的问题是,由于ID是文档URL的一部分(即PUT index/_doc/id),ES认为所有内容都是URL-encoded,因此,在解码时+ 符号替换为 space。

您需要做的是在将您的 ID 发送到 ES 之前对其进行 URL 编码,以便 + 符号被编码为 %2B,然后再次正确解码为 +