Одним из способов достижения «тайм-аута» в запросе поискового запроса является использование параметра «тайм-аут» в самом запросе. здесь
Предположим, что мы хотим выполнить полнотекстовый «запрос на совпадение», мы можем добавить «тайм-аут» перед самим запросом:
{
"timeout": "1ms",
"query": {
"match" : {
"description" : "This is a fullText test"
}
}
}
Вам придется использовать единицы времени Elasticsearch, как указано здесь , и отправлять их как строковые значения.
В вашем случае - я не вижу способа достичь этого с помощью репозитория spring-data-es, но - вы можете добавить пользовательскую функциональность в свой репозиторий и использовать ElasticsearchIndexTemplate с matchAllQuery () (Java эластичный API),
Нечто подобное ( еще не проверял ):
nodeEsTemplate.getClient().prepareSearch("test-index")
.setQuery(QueryBuilders.matchAllQuery())
.setTimeout(TimeValue.timeValueMillis(1))
.execute().actionGet();
Поскольку nodeEsTemplate имеет тип ElasticsearchIndexTemplate и предполагается, что вы создали собственный метод findAllWithTimeOut в своем классе репозитория.