我有一个设计糟糕的文档结构:
{
"_index": "items",
"_type": "item",
"_id": "CD5D8F6516A88805FA826C10777B1750D9AAF5DA9CDD8E264757AB7EEC22B1EB",
"_score": 1,
"_source": {
"title": "Textverständnis 5",
"active": true,
"successorId": null,
"metadata": {
"Fach": "DE",
"Kompetenz": "Les",
"code": "C_SX_DE_Les_A0016_00149_V00",
...
}
}
}
我想从上面的文档中检索标题、Fach和代码。
@Document(indexName = "items", type = "item")
@Data
public class Item {
@Id
private String id;
private String title;
private Metadata metadata;
@Data
static class Metadata {
private String Fach;
private String code;
}
}
多谢了。
使用Jackson的@JsonProperty注释解决了以下问题:
@Document(indexName = "items", type = "item")
@Data
public class Item {
@Id
private String id;
private String title;
private Metadata metadata;
@Data
static class Metadata {
@JsonProperty("Fach")
private String subject;
private String code;
}
}
升级到Spring boot 2.3和Spring data elasticsearch 4.0.9后的问题。我有这样的文档: 这在spring data 3.0中与Jackson配合得很好,但升级到4.0后,Jackson不再可用,现在我收到了一个来自spring的实例化异常,无法实例化URL对象。 例外情况: 任何关于解决方案的想法都将受到赞赏。
我们使用弹性搜索动态映射,java文件如下所示。 我们使用每60分钟运行一次的调度程序从数据库中获取数据并添加到索引中。 问题是数据库中已删除的记录。这些记录不会从索引中删除,而是成为孤立记录。 我遇到了“ttl”属性,并寻找一种方法将其添加到索引中,以便在ttl时间之后删除孤儿记录。 如果不将ttl添加到每个索引中,它是否应该是所有文档的通用级别?如果是,是否应该为每次调度运行设置此设置? 谢谢
我正在使用spring数据elasticsearch来执行CRUD操作。 我有一个扩展Elasticsearch chRepository的自定义存储库。 最终,ElasticsearchRepository扩展了CrudRepository,这意味着可以更新现有记录。 问题是,你是如何做到这一点的?我还没有找到一个名为“update()”的方法 我认为做以下事情会有用(代码从https://gi
我需要运行以下查询: 但我不能用spring data elasticsearch轻松运行这个。 有什么办法吗 spring data elasticsearch是否很好地支持所有elasticsearch查询DSL
我正在尝试在多个集群(而不是节点)中插入记录。我正在使用spring-data-elastic search(版本2.0.4.version)。我尝试使用不同bean名称在配置中创建2个elasticsearchoperation实例。我正在尝试使用带有索引(IndexQuery IndexQuery)方法的对象进行插入。但当我尝试插入时,我无法保持字段的映射(非分析字段类型)。可以有人请帮助我如
我正在尝试配置Spring数据引导和ES项目在我的pom.xml我有: } 在我的pom xml中,我有这个dep: 这应该提供驱动程序,但我不断得到:描述: 无法确定数据库类型 NONE 的嵌入式数据库驱动程序类 行动: 如果你想要一个嵌入式数据库,请在类路径上放置一个受支持的数据库。如果要从特定配置文件加载数据库设置,则可能需要激活它(当前没有配置文件处于活动状态)。