У меня есть приложение эластичного поиска данных пружины и документ, в котором поле является еще одним DTO. Когда я сохраняю документ, он сохраняет это поле как json, однако, когда я хочу частично обновить его, он всегда сохраняет это поле как String. Как это решить?
Вот мой код обновления, где SearchAndMatchData - это DTO, который я хочу обновить
void updateSearchAndMatchField(final String listingId, final SearchAndMatchData data) {
final IndexRequest indexRequest = new IndexRequest();
indexRequest.source("searchAndMatchData", data);
final UpdateQuery updateQuery = new UpdateQueryBuilder().withId(listingId).withClass(ListingsData.class).withIndexRequest(indexRequest).build();
synchronized (this) {
elasticsearchTemplate.update(updateQuery);
}
}