使用Spring ElasticSearch在不同文档中同步相同对象的好方法是什么?

时间:2019-06-13 12:43:56

标签: java spring-data-elasticsearch

我有以下文件

@Document(indexName = IndexNames.ORGANIZATION_INDEX, type = Types.ORGANIZATION_TYPE)
public class OrganizationDocument implements Serializable {

    @Id
    private Long id;
    private String name;
    ....
}

@Document(indexName = IndexNames.USER_INDEX, type = Types.USER_TYPE)
public class UserDocument implements Serializable {

    @Id
    @Field(type = FieldType.Keyword)
    private String id;

    private OrganizationDocument organization;

    private String email;
    private String firstName;
    private String lastName;
    ...
}

我要实现的目的是在原始OrganizationDocument更改(名称为e.t.c)之后更新UserDocument中的OrganizationDocument

为此,我正在尝试使用ElasticsearchTemplate

我使用了

            IndexRequest indexRequest = new IndexRequest();
            indexRequest.source("organization", organizationDocument);
            UpdateQuery updateQuery = new UpdateQueryBuilder().withId(userDocument.getId()).withClass(UserDocument.class).withIndexRequest(indexRequest).build();
            elasticsearchTemplate.update(updateQuery);

但是我无法为类型类... OrganizationDocument类型的未知值编写xcontent。

能否请您提出如何对嵌入对象OrganizationDocument进行部分更新的建议?

谢谢。

0 个答案:

没有答案