pom
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
yml配置
data:
elasticsearch:
cluster-nodes: 127.0.0.1:9300
配置类
public interface EsProductRepository extends ElasticsearchRepository<YourClass,Long> {
}
@Component
public class ElasticSearchConfiguration implements InitializingBean {
static {
System.setProperty("es.set.netty.runtime.available.processors", "false");
}
@Override
public void afterPropertiesSet() throws Exception {
}
}
@Document(indexName = yourIndex, type = yourType,shards = 5,replicas = 0)
public class YourClass extends JSONSupport implements Serializable {
private static final long serialVersionUID = 2691848650005715297L;
@Id
private String id;
...
}
使用
@Test
public void test333(){
final BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() ;
final Pageable pageable = PageRequest.of(0, 5);
final NativeSearchQueryBuilder nativeSearchQueryBuilder = new NativeSearchQueryBuilder();
nativeSearchQueryBuilder.withPageable(pageable);
nativeSearchQueryBuilder.withFilter(queryBuilder);
NativeSearchQuery searchQuery = nativeSearchQueryBuilder.build();
final Page<YourClass > page = esProductRepository.search(searchQuery);
final List<YourClass > esList = page.get().collect(Collectors.toList());
final YourClass yourClass = RandomUtil.randomEle(esList);
System.out.println(yourClass);
System.out.println(elasticsearchTemplate.getClient().getClass());
}