【发布时间】:2021-04-01 21:42:49
【问题描述】:
我想从 elasticsearch 中获取一些数据,我在 Spring Data Elasticsearch v 3.2.12 上成功了,但是在 4.x 版本中我不能做同样的事情。
在elasticsearch中,我有这样的数据:
{
"_index" : "abc",
"_type" : "_doc",
"_id" : "SVJhjnEB6V1CiOscApfa",
"_score" : 2.0954367E-5,
"_source" : {
"name" : "abc",
"timestamp" : "2020-04-18T20:40:51Z",
"temperature[*C]" : 20.56,
"humidity[%]" : 45.65
}
我想像id一样使用“_id”
我的 Dto 课程
@Data //from Lombok
@Document(indexName = "abc",type = "_doc")
public class Ascr2Dto {
@Id
@ReadOnlyProperty
private String id;
private String name;
private Date timestamp;
@JsonProperty("temperature[*C]")
private float temperature;
@JsonProperty("humidity[%]")
private float humidity;}
如果我尝试从 Spring Data Elasticsearch 3.x 迁移到 4.x,当我尝试 findById 方法时,我会收到“IllegalArgumentException: null”
我浏览了这个帖子,没有结果 Spring Data Elasticsearch (4.x) - Using @Id forces id field in _source
谢谢!
【问题讨论】:
标签: java spring elasticsearch spring-data spring-data-elasticsearch