ps:因服务器资源有限,不能部署多套elasticsearch,同时也保证了环境的一致性(可能都遇到过环境不一样,运行结果也不一样,乱七八糟的bug出现),本项目基于spring boot2+
之前支持spring elasticsearch data 3,现在升级4后实现方法有很大不同。
解决办法:采用前缀prefix区分环境,如:dev_ test_
1、首先定义实体类:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17@Document(indexName = "area_zqcrm", type = "_doc") @Data @JsonIgnoreProperties(ignoreUnknown = true) public class Area { @Id private String id; @Field(name = "full_name") private String fullName; private String name; @Field(name = "parent_id") private String parentId; }
与官方文档一致,没有任何差别
2、具体实现查询
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30/** * 删除文档 * * @param id * @return */ public <T> String delete(Class<T> clazz, String id) { return elasticsearchRestTemplate().delete(id, getIndexCoordinatesFor(clazz)); } /** * 按索引id查询 * * @param id * @param clazz * @param <T> * @return */ public <T> T findById(Class<T> clazz, String id) { LOGGER.info("index:" + getIndexCoordinatesFor(clazz).getIndexName() + ",id:" + id); return elasticsearchRestTemplate().get(id, clazz, getIndexCoordinatesFor(clazz)); } public <T> IndexCoordinates getIndexCoordinatesFor(Class<T> clazz) { IndexCoordinates indexCoordinates = elasticsearchRestTemplate().getIndexCoordinatesFor(clazz); return IndexCoordinates.of("prefix前缀" + indexCoordinates.getIndexName()); }
最后
以上就是落寞飞鸟最近收集整理的关于一个elasticsearch支持多套运行环境(spring elasticsearch data 4)的全部内容,更多相关一个elasticsearch支持多套运行环境(spring内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复