PUT和POST都可以实现增加操作,当你没有出现过指定的ID时怎二者都是可以创建的,如果id已经存在了,则二者也都是可以实现修改的,区别在于,当你没有输入id时,PUT则直接报错,而POST则会自动生成一个随机的id字符串,所以说POST用在增加多一点,PUT用在修改多一点。
分词器对test文本进行拆分
term类似于=等于号 而match类似于like但功能更强大的全文索引 range就是用一个范围限定
下边是一个易错点:两个端口号怎么回事呐?从第一个192.168.9.151:8200它映射到的还是9200,平时的http通信访问的都是这个9200端口,而9300是es节点之间的通信,别搞错了
一、首先创建一个maven的demo项目
二、引入pom文件
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
三、编写yml文件
spring:
data:
elasticsearch:
cluster-name: elasticsearch
cluster-nodes: 127.0.0.1:9300
四、编写启动类,然后是test测试类,pojo类
(启动类)
(测试类)
(pojo)
五、进行创建索引以及Pojo中类的配置
六、此时你可以打开es的启动文件和kibana的启动文件
(查看是否配置的有效)
(通过调用es仓库中的方法,可以进行相应的操作)
首先创建一个接口,去继承ElasticsearchRepository
然后导入
就可以用crudInterface去调用相应的方法了
(创建索引)
(查看index)
(查看所有index)
七、这个crudInterface接口继承了es仓库接口,可以自己组合方法!!(须符合官方)
(在接口中新增方法)
(在测试中调用)
八、有关聚合可以使用以下:
(自己组合函数)
另外说一点,如果是聚合操作,或者是特别复杂的操作,还是需要用原声的RestApI官方文档的去写,这个是满足一定的需求。
第二种javaapi方式