json—使用spring数据在elasticsearch中使用通用jsonnode存储文档

g52tjvyc  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(0)|浏览(251)

我想使用带有以下实体的spring数据将未指定的json负载数据存储在elasticsearch索引中

@Document(indexName = "message")
    public class Message {

        @Id
        private String id;
        private JsonNode payload;

        //getters and setters here
    }

负载是不同的,需要以一种通用的方式存储,这种方式也可以很容易地再次加载,这就是为什么我想在这里使用jsonnode。
一个带有“id”的文档被写入,但是“payload”字段是空的。
当我在kibana中查找写入索引的文档时,它看起来是这样的:

_class:
    com.tryout.Message
payload:
id:
    30243006-0844-4438-a7f0-db93518b340f
_id:
    30243006-0844-4438-a7f0-db93518b340f
_type:
    _doc
_index:
    message
_score:
    0

在索引Map中,也没有创建“payload”,如下所示:

{
  "mappings": {
    "_doc": {
      "properties": {
        "_class": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        },
        "id": {
          "type": "text",
          "fields": {
            "keyword": {
              "type": "keyword",
              "ignore_above": 256
            }
          }
        }
      }
    }
  }
}

有什么办法可以存储我的通用负载吗?
(我使用的是elasticv7.9.2&springbooot+springbootdatajpav2.3.5和springdataelasticsearch v4.1.1)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题