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. 使用Maven创建SpringBoot工程
配置Maven的pom.xml文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-parent</artifactId>
<version>2.1.6.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
</dependencies>
注意: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<HouseIndexTemplate, Long> {
}
测试用例
@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服务已关闭
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍基于springboot集成hbase过程解析,包括了基于springboot集成hbase过程解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了基于springboot集成hbase过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 springboot-habse: https://github.com/spr
本文向大家介绍Springboot集成fastDFS配置过程解析,包括了Springboot集成fastDFS配置过程解析的使用技巧和注意事项,需要的朋友参考一下 配置文件 配置fdfs_client.conf配置文件 # 连接超时时间,针对socket套接字函数connect,默认为30秒 connect_timeout=30000 # 网络通讯超时时间,默认是60秒 network_timeo
Phing Jenkins CI Travis CI StyleCI
我在运行一个将spring boot与弹性搜索集成在一起的简单应用程序时遇到了这个错误。你能帮我解决这个问题吗?我是初学者。 我正在尝试将一些书籍映射到ES中,并能够使用ES Java API中的客户端配置打印它们。我想知道这些版本是否使用不当,所以请查看我的pom。xml 它表示通过字段“es”表示的未满足的依赖关系,我不知道这是什么意思。关于NoClassDefFoundError- 这是st
EdIndexBolt,EsPercolateBolt和Estate允许用户将storm中的数据直接传输到Elasticsearch。 详细说明请参考以下内容。 EsIndexBolt (org.apache.storm.elasticsearch.bolt.EsIndexBolt) EsIndexBolt将tuples直接流入Elasticsearch索。 Tuples以指定的索引和类型组合进行
本文向大家介绍springboot集成activemq的实例代码,包括了springboot集成activemq的实例代码的使用技巧和注意事项,需要的朋友参考一下 ActiveMQ ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JM
本文向大家介绍SpringBoot集成JWT实现token验证的流程,包括了SpringBoot集成JWT实现token验证的流程的使用技巧和注意事项,需要的朋友参考一下 JWT官网: https://jwt.io/ JWT(Java版)的github地址:https://github.com/jwtk/jjwt 什么是JWT Json web token (JWT), 是为了在网络应用环境间传递
链接 spark streaming交互