Spring Data ElasticSearch是否可以从响应中获取“took”字段

k4aesqcs  于 2023-03-07  发布在  ElasticSearch
关注(0)|答案(1)|浏览(234)

当我从elasticsearch查询时,我得到一个响应:

{
"took": 16,
"timed_out": false,
"_shards": {
    "total": 1,
    "successful": 1,
    "skipped": 0,
    "failed": 0
},

是否可以使用Spring数据ElasticSearch获得"take"值?
编辑:
这是我们如何查询到elasticsearch:

SearchHits<SearchPo> findByAllAttributes(String searchText) {

return elasticsearchRestTemplate.search(buildHeaderSearchQuery(searchText),
    SearchPo.class, IndexCoordinates.of("search");
ndh0cuux

ndh0cuux1#

不能使用ElasticsearchRestTemplate检索这些信息,从代码中可以看到,took信息在SearchResponse中可用,但SearchDocumentResponseBuilder.from(SearchResponse)不能使其可用,只返回SearchHits。
你可以做的是子类ElasticsearchRestTemplate和重载(不是重写!)search方法,以返回原始的SearchResponse,这样你就可以从你的代码调用SearchResponse.getTook()

相关问题