SpringBoot集成Elasticsearch过程实例

网友投稿 424 2023-06-16

SpringBoot集成Elasticsearch过程实例

SpringBoot集成Elasticsearch过程实例

1. 准备工作

需要提前安装好Elasticsearch,访问地址:http://127.0.0.1:9200/ 得到以下结果,得到cluster_name,下面配置使用。

{

"name" : "O8GslS3",

"cluster_name" : "docker-cluster",

"cluster_uuid" : "pviTqfXtR3GtnxF-Po-_aA",

"version" : {

"number" : "6.5.0",

......

},

"tagline" : "You Know, for Search"

}

2. 使用Mavenhttp://创建SpringBoot工程

配置Maven的pom.xml文件

org.springframework.boot

spring-boot-parent

2.1.6.RELEASE

org.springframework.boot

spring-boot-starter-data-elasticsearch

注意:spring-boot-starter-data-elasticsearch包,引用的是spring-data-elasticsearch包,而spring-data-elasticsearch包的版本与elasticsearch服务版本是有兼容性问题的。

目前并不支持elasticsearch7.x,参考:https://github.com/spring-projects/spring-data-elasticsearch

配置application.yml文件

spring:

data:

elasticsearch:

cluster-name: docker-cluster

cluster-nodes: 127.0.0.1:9300

repositories:

enabled: true

3. 代码

实体类。使用@Document注解,参数indexName是索引名称,type是type名称。

// 声明索引名称,type名称@Document(indexName = "houseindex", type = "house")

public class HouseIndexTemplate {

@Id

private Long id;

private String name;   ......

}

访问接口。使用@Repository注解,并继承ElasticsearchRepository接口,就可以直接访问的。

有两个参数:1.返回的对象,2.ID参数数据类型

@Repository

public interface HouseRepository extends ElasticsearchRepository {

}

测试用例

@RunWith(SpringRunner.class)

@SpringBootTest(classes = Application.class)

public class UserServiceTest {

@Autowired

private HouseRepository houseRepository;

@Test

public void selectUser(){ HouseIndexTemplate template = new HouseIndexTemplate(); template.setId(1); template.setName("Tom");

houseRepository.save(template);

}

}

4. 异常解释

问题1: NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}{IVH9QII0QrOU9GkXdsJPiA}{127.0.0.1}{127.0.0.1:9300}]]

原因:这是说配置的节点不可用,原因答题有3种可能:(1)IP地址或端口填写有误;(2)cluster_name填写有误;(3)Elasticsearch服务已关闭

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:ElasticSearch添加索引代码实例解析
下一篇:Jenkins自动化部署springboot代码实例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~