如何使用 spring-data-elasticsearch 从搜索结果中获取版本
How to fetch version from search results using spring-data-elasticsearch
我正在Springframework中执行NativeSearchQuery来执行搜索操作。我正在尝试通过 Java API 从响应中获取“_version”值。以下是与此用例相关的示例请求和响应
GET /my-index/_doc/foo-bar
{
"_index" : "my-index",
"_type" : "_doc",
"_id" : "foo-bar",
"_version" : 88,
"_seq_no" : 169,
"_primary_term" : 1,
"found" : true,
"_source" : {
"_class" : "fooBar",
"value" : 1250087,
"creatdDateTime" : "20210203T124928.913Z",
"ModifiedDateTime" : "20210203T124928.913Z"
}
}
我正在尝试使用 NativeSearchQuery 通过 JAVA API 从上面的响应中获取 _version=88。如何获取这个值
在请求级别,您无需执行任何操作,因为 _version
字段来自搜索查询 always returned。
响应中出现的每个搜索命中都将是 transformed to a Document instance,如果 _version
值 >= 0,则将在文档实例上设置版本值。
然后 NativeSearchQuery.search()
方法将 return SearchHits
的实例,其中包含 SearchHit
的数组,并且 class 提供 getVersion()
method
当使用 Spring Data Elasticsearch 时,您需要有一个 Long
类型的 属性 并用 @Version
注释。 Spring Data Elasticsearch 然后将使用版本值填充此 属性。
我正在Springframework中执行NativeSearchQuery来执行搜索操作。我正在尝试通过 Java API 从响应中获取“_version”值。以下是与此用例相关的示例请求和响应
GET /my-index/_doc/foo-bar
{
"_index" : "my-index",
"_type" : "_doc",
"_id" : "foo-bar",
"_version" : 88,
"_seq_no" : 169,
"_primary_term" : 1,
"found" : true,
"_source" : {
"_class" : "fooBar",
"value" : 1250087,
"creatdDateTime" : "20210203T124928.913Z",
"ModifiedDateTime" : "20210203T124928.913Z"
}
}
我正在尝试使用 NativeSearchQuery 通过 JAVA API 从上面的响应中获取 _version=88。如何获取这个值
在请求级别,您无需执行任何操作,因为 _version
字段来自搜索查询 always returned。
响应中出现的每个搜索命中都将是 transformed to a Document instance,如果 _version
值 >= 0,则将在文档实例上设置版本值。
然后 NativeSearchQuery.search()
方法将 return SearchHits
的实例,其中包含 SearchHit
的数组,并且 class 提供 getVersion()
method
当使用 Spring Data Elasticsearch 时,您需要有一个 Long
类型的 属性 并用 @Version
注释。 Spring Data Elasticsearch 然后将使用版本值填充此 属性。