注意版本
org.springframework.data spring-data-elasticsearch 4.0.3.RELEASE
@Configuration
@Order(0)
public class RestClientConfig extends AbstractElasticsearchConfiguration {
private final static String ADDRESS= "127.0.0.1:9200";
@Override
@Bean
public RestHighLevelClient elasticsearchClient() {
return RestClients.create(ClientConfiguration.create(ADDRESS)).rest();
}
//totalHits有值,searchHits没有数据,
//多半是因为你没有把 RestHighLevelClient set 到 ElasticsearchRestTemplate 中
@Bean
public ElasticsearchRestTemplate elasticsearchRestTemplate(){
return new ElasticsearchRestTemplate(elasticsearchClient());
}
}
2.使用
@Resource
private ElasticsearchRestTemplate elasticsearchRestTemplate;
@Resource
private RestHighLevelClient highLevelClient;
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery();
NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder()
.withQuery(queryBuilder)
.withSort(new ScoreSortBuilder().order(SortOrder.DESC))
.withPageable(PageRequest.of(0,100));
SearchHits search = elasticsearchRestTemplate.search(nativeSearchQueryBuilder.build(), EsItemBook.class);



