1. 引入POM依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
2. 配置yml 文件,我配置在nacos上的
2. 将要查的对象作为一个实体类
//索引的名称
@Document(indexName ="es_db")
@Data
public class Article {
//标记它的id,方便进行删除,修改操作
@Id
private String id;
private String desc;
public Article(String desc){
this.desc=desc;
}
}
3. mapper层
// 实现Es Mapper 的接口,两个参数一个是实体类,还有一个是id的类型
@Repository
public interface ArticleRepository extends ElasticsearchRepository<Article,String> {
}
4. 测试
@SpringBootTest
public class ESTest {
@Autowired
private ArticleRepository articleRepository;
//测试Es的保存
@Test
public void testSave()
{
Article a =new Article("Spring Date ElasticSearch");
articleRepository.save(a);
}
}
自定义查询的方法
注意:ES的自定义查询在mapper层中声明,声明完成之后不需要自己手写,它自己又有自己生成的一套原则
SpringData 的一个强大的功能就是根据方法名称自动实现功能
比如:你的方法名称叫findByTiltle , 那么它就知道你是根据title查询,然后自动帮你完成,无需写实现类,当然方法要符合一定约定
根据这张表实现