我想使用带有以下实体的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)
暂无答案!
目前还没有任何答案,快来回答吧!