0
沒有一個與Java API聯機的示例,該示例演示如何限制通過ElasticSearch搜索返回的所有項目的行。我嘗試過濾器限制,但它不會工作,因爲它會帶來更多的限制。我知道它每片碎片,但是沒有辦法解決這個問題。我無法找到從/大小查詢/過濾器無論是Java API中Elasticsearch使用Java API抓取所有但僅限於特定數量的數據
SearchQuery searchQuery = startQuery(limit, null).build();
Iterable<Statement> iterableStatements = esSpringDataRepository.search(searchQuery);
if (iterableStatements != null) {
return IteratorUtils.toList(iterableStatements.iterator());
}
private NativeSearchQueryBuilder startQuery(int limit, QueryBuilder query) {
NativeSearchQueryBuilder searchQueryBuilder = new NativeSearchQueryBuilder();
if(query != null) {
searchQueryBuilder = searchQueryBuilder.withQuery(query);
}
if(limit > 0) {
searchQueryBuilder = searchQueryBuilder.withFilter(FilterBuilders.limitFilter(limit));
}
return searchQueryBuilder;
}