Java操作ES
具体可以看:
编程不良人
<!-- Elasticsearch -->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>${elasticsearch}</version>
</dependency>
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>${elasticsearch}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
SpringBoot集成ES
版本关系
https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#preface.versions

依赖

<!--elasticsearch -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
配置application. properties
#--------------------------------------------server-----------------------------------------
server.port=6666
spring.application.name=ES
#与java交互的默认端口号是9300,与http交互的端口号是9200
spring.data.elasticsearch.cluster-nodes=ip:9300
启动日志错误
执行createIndex() 时报ERROR 60036 --- [ main] .d.e.r.s.AbstractElasticsearchRepository : None of the configured nodes are available
- boot的连接信息没配置正确
- 9300的防火墙没开
springboot如何操作ES
提供了相关注解标识文档
- @Document:
修饰范围:类上作用: 代表这个类的实例是一条文档document
indexName属性: 用来限定对象的实例放入Es中哪个索引库中
type属性:用来限定对象的实例放入indexNarme索引库的哪个类型
- @Field
修饰范围:用在成员变量上,代表当前属性为Es中文档的一个字段
type属性:用来限定当前索引中当前类型中当前字段在Es中的类型
如:FieldType. TEXT
analyzer属性: 用来指定字段分词时,分词器是哪个"ik_ max_ word" "ik_ smart"
- @Id
修饰范围:用来成员变量上作用:用来将类中成员变量与es中_ id映射
Boot提供的ES操作封装类
-
简单操作
BookRepository extends ElasticsearchRepository -
复杂查询/高亮
ElasticsearchTemplate
网友评论