linux cpu占用率如何看
413
2022-11-17
ElasticsearchRestTemplate工具类对ES 进行操作
SpringDataElasticsearch提供了一个工具类ElasticsearchRestTemplate,我们注入该类对象也能对ES进行操作。
1. 操作索引
package com.neu.springdataes;import com.neu.springdataes.model.Product;import com.neu.springdataes.model.Student;import org.junit.jupiter.api.Test;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.test.context.SpringBootTest;import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate;import org.springframework.data.elasticsearch.core.IndexOperations;/** * @Author yqq * @Date 2021/12/01 14:29 * @Version 1.0 */@SpringBootTestpublic class test1 { @Autowired private ElasticsearchRestTemplate template; @Test void t1(){ IndexOperations ops = template.indexOps(Student.class); ops.create(); } @Test void t2(){ IndexOperations ops = template.indexOps(Student.class); ops.delete(); } }
2.增删改文档
template操作文档的常用方法: save():新增/修改文档 delete():删除文档
@Test void t3(){ Product product = new Product(6,"小米","红米"); template.save(product); } @Test void t4(){ Product product = template.get("6", Product.class); System.out.println(product); } @Test void t5(){ template.delete("6",Product.class); }
3.查询文档
template的search方法可以查询文档: SearchHits search(Query query, Class clazz):查询文档,query是查询条件对象, clazz是结果类型。
普通查询:
@Test void t1(){ //构建查询条件// MatchAllQueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); TermQueryBuilder queryBuilder = QueryBuilders.termQuery("desc","手机"); NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(queryBuilder).build(); //查询 SearchHits
复杂条件查询
@Test void t2(){ String name = "12"; String desc = "手机"; //构建查询条件 BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); if (name == null && desc == null){ MatchAllQueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); boolQueryBuilder.must(queryBuilder); } else { if (name != null){ MatchQueryBuilder queryBuilder = QueryBuilders.matchQuery("name",name); boolQueryBuilder.must(queryBuilder); } if (desc != null){ MatchQueryBuilder queryBuilder = QueryBuilders.matchQuery("desc",desc); boolQueryBuilder.must(queryBuilder); } } NativeSearchQuery query = new NativeSearchQueryBuilder().withQuery(boolQueryBuilder).build(); SearchHits
分页查询
@Test void t3(){ //构建查询条件 MatchAllQueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); //分页处理 Pageable pageable = PageRequest.of(0,3); NativeSearchQuery query = new NativeSearchQueryBuilder() .withQuery(queryBuilder) .withPageable(pageable) .build(); SearchHits
结果排序
@Test void t4(){ //构建查询条件 MatchAllQueryBuilder queryBuilder = QueryBuilders.matchAllQuery(); //分页处理 Pageable pageable = PageRequest.of(0,3); //排序条件 FieldSortBuilder sortBuilder = SortBuilders.fieldSort("id").order(SortOrder.DESC); NativeSearchQuery query = new NativeSearchQueryBuilder() .withQuery(queryBuilder) .withPageable(pageable) .withSort(sortBuilder) .build(); SearchHits
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~