Использование аннотации @Id
Я могу добавить поле id
к моему объекту модели, и когда я выполняю запрос, результирующий объект модели будет содержать значение elasticsearch _id
в @Id
аннотированное поле.Аннотации метаданных Spring-data-elasticsearch для _version, _id и т. Д.
Однако мне еще предстоит выяснить, как получить другие метаданные документа, такие как _version
. Я попытался добавить поле version
в свою модель и аннотировать его аннотацией @Version
, но ничего не произошло, и поле осталось null
.
{
"_index" : "twitter",
"_type" : "tweet",
"_id" : "1",
"_version" : 1,
"found": true,
"_source" : {
"user" : "kimchy",
"postDate" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
}
Я имею в виду таких областях, как _index
, _type
, _id
, _version
и т.д ...
Я особенно обеспокоен _version
потому, что используется для оптимистической блокировки.
Мне кажется, что если _id
поддерживается, то _version
и другие поля метаданных должны поддерживаться как-то тоже.
Я только что прочитал документы с источниками данных elasticearch, и я ничего не могу найти. Если кто-то знает, пожалуйста, сообщите.
Все ли поля метаданных документа elasticsearch поддерживаются в spring-data-elasticsearch? Если да, то как?
Кроме того, если я могу получить _version
как-то, то как я могу использовать его для оптимизации блокировки при использовании spring-data-elasticsearch?
Спасибо.