1.entity开发
在项目目录“/src/main/java/com/example/es”下新建entity目录,并在entity目录下新建EmployeeEntity实体类,具体代码如下。
2.mapper开发
在项目目录“/src/main/java/com/example/es”下新建mapper目录,并在mapper目录下新建EmployeeMapper接口,具体代码如下。
3.controller开发
在项目目录“/src/main/java/com/example/es”下新建controller目录,并在controller目录下新建EmployeeController类,以indexEmployeeString接口为例演示开发步骤,具体代码如下。
4.测试
启动项目,然后在postman中请求“http://localhost:8080/employee/indexEmployeeString”,成功后返回文档id。
5.@Index属性说明
序号 | 属性名 | 默认值 | 说明 |
1 | timeout | 1m | 数值+时间单位(ms/s/m/h/M/y) |
2 | refreshPolicy | RefreshPolicy.NONE | 默认不刷新 |
3 | pipeline | 可选 | |
4 | versionType | VersionType.INTERNAL | |
5 | waitForActiveShards | -2 | 活动分片数量,-2时不指定分片数量,-1或all指定全部分片 |
6.指定文档id新增(一般将文档id的值设置为文档主键字段)
(1).入参实体需实现IdProvider接口
(2).测试
启动项目,然后在postman中请求“http://localhost:8080/employee/indexEmployeeString”,成功后返回文档id。
7.批量新增
(1).mapper开发
在项目目录“/src/main/java/com/example/es”的EmployeeMapper类中新增批量创建员工接口,具体代码如下。
(2).controller开发
在项目目录“/src/main/java/com/example/es”下的EmployeeController类中新增批量创建员工接口,以接口bulkIndexEmployeeList为例演示开发步骤,具体代码如下。
(3).测试
启动项目,然后在postman中请求“http://localhost:8080/employee/bulkIndexEmployeeList”,成功后返回对应的信息。
(4).注解
@Bulk注解标明此方法是批量方法,同时必须要指定BulkType标明是何种类型的批量操作。做批量更新操作时,如果想文档不存在则做插入操作,设置@Update(docAsUpsert=true)。
(5).@Bulk属性说明
序号 | 属性名 | 默认值 | 说明 |
1 | bulkType | 必填 | 可选类型:INDEX/DELETE/UPDATE |
2 | timeout | 1m | 数值+时间单位(ms/s/m/h/M/y) |
3 | waitForActiveShards | -2 | 活动分片数量,-2时不指定分片数量,-1或all指定全部分片 |
4 | index | 可选 | bulkType = INDEX有效 |
5 | delete | 可选 | bulkType = DELETE有效 |
6 | update | 可选 | bulkType = UPDATE有效 |
7 | refreshPolicy | RefreshPolicy.NONE |