对应 文章 里操作,导包,实体类的
SpringDataElasticsearch的索引数据CRUD并没有封装在ElasticsearchTemplate中,而是有一个叫做ElasticsearchRepository的接口,要继承ElasticsearchRespository
import com.itcsdn.pojo.Esneo;
import org.springframework.data.elasticsearch.repository.ElasticsearchRepository;
//ElasticsearchRepository<对应类的类名,对应类的id类型>
public interface GoodsRepository extends ElasticsearchRepository<Esneo,Long> {
}import com.itcsdn.es.GoodsRepository;
import com.itcsdn.pojo.Esneo;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.elasticsearch.core.ElasticsearchTemplate;
import org.springframework.test.context.junit4.SpringRunner;
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringElasticsearchCrud {
@Autowired //注入刚才创建的接口
private GoodsRepository goodsRepository;
/**
* 创建索引数据
*/
@Test
public void addDocument(){
//构建数据
Esneo seds = new Esneo(1L, "小米手机9", " 手机","小米", 3499.00, "http://image.itcsdn.com/13123.jpg");
//创建索引数据
goodsRepository.save(seds);
}
/**
* 批量创建索引数据
*/
@Test
public void addDocuments(){
//构建数据
List<Esneo> arrayList = new ArrayList<>();
arrayList.add(new Esneo(1L, "小米手机7", "手机", "小米", 3299.00, "/13123.jpg"));
arrayList.add(new Esneo(2L, "坚果手机R1", "手机", "锤子", 3699.00, "/13123.jpg"));
arrayList.add(new Esneo(3L, "华为META10", "手机", "华为", 4499.00, "/13123.jpg"));
arrayList.add(new Esneo(4L, "小米Mix2S", "手机", "小米", 4299.00, "/13123.jpg"));
arrayList.add(new Esneo(5L, "荣耀V10", "手机", "华为", 2799.00, "/13123.jpg"));
//批量创建索引数据
goodsRepository.saveAll(arrayList);
}
/**
* 删除索引数据(全部数据)
*/
@Test
public void delectDocumentAll(){
//删除索引数据(全部数据)
goodsRepository.deleteAll();
}
/**
* 根据id删除索引数据
*/
@Test
public void delectDocumentById(){
//根据id删除索引数据
goodsRepository.deleteById(1L);
}
/**
* 查询索引数据
*/
@Test
public void findAll(){
//查询索引数据
Iterable<Esneo> all = goodsRepository.findAll();
//打印结果
all.forEach(System.out::println);
}
/**
* 根据ID查询索引数据
*/
@Test
public void findAllById(){
//根据ID查询索引数据
Optional<Esneo> jg = goodsRepository.findById(2L);
//打印结果
System.out.println("结果:"+jg);
}
}