当前位置:   article > 正文

Elasticsearch 修改字段类型,索引映射关系,模板属性 Java实现_java注解怎么指定elastic索引类型映射

java注解怎么指定elastic索引类型映射

Java Api实现:

  1. /**
  2. * 对索引/模板的查询/更新操作
  3. */
  4. @Slf4j
  5. @Service
  6. public class ESMappingService {
  7. @Resource
  8. protected RestHighLevelClient client;
  9. /**
  10. * 根据索引名(可模糊)-查询相关索引名
  11. * @return String[]
  12. */
  13. public String[] getIndices(String index){
  14. GetIndexRequest request = new GetIndexRequest(index);
  15. //允许不存在的索引
  16. IndicesOptions indicesOptions = IndicesOptions.fromOptions(true, true, true, false);
  17. request.indicesOptions(indicesOptions);
  18. GetIndexResponse response = null;
  19. String[] indices = new String[]{};
  20. try {
  21. response = client.indices().get(request, RequestOptions.DEFAULT);
  22. } catch (Exception e) {
  23. log.error(" ESMappingService getIndices Cause:{},Message:{}", e.getCause(),e.getMessage());
  24. }
  25. if (response != null) {
  26. indices = response.getIndices();
  27. }
  28. return indices;
  29. }
  30. /**
  31. * 查询所有的索引名
  32. * @return String[]
  33. */
  34. public String[] getAllIndices(){
  35. GetIndexRequest request = new GetIndexRequest();
  36. GetIndexResponse response = null;
  37. String[] indices = new String[]{};
  38. try {
  39. response = client.indices().get(request, RequestOptions.DEFAULT);
  40. } catch (Exception e) {
  41. log.error(" ESMappingService getAllIndices Cause:{},Message:{}", e.getCause(),e.getMessage());
  42. }
  43. if (response != null) {
  44. indices = response.getIndices();
  45. }
  46. return indices;
  47. }
  48. /**
  49. * 查询现有的所有模板信息
  50. * @return List
  51. */
  52. public List<IndexTemplateMetaData> getAllTemplates(){
  53. GetIndexTemplatesRequest templatesRequest = new GetIndexTemplatesRequest();
  54. GetIndexTemplatesResponse templatesResponse = null;
  55. List<IndexTemplateMetaData> list = new ArrayList<>();
  56. try {
  57. templatesResponse = client.indices().getIndexTemplate(templatesRequest, RequestOptions.DEFAULT);
  58. } catch (Exception e) {
  59. log.error(" ESCheckMappingService getAllTemplates query error ", e);
  60. }
  61. if(templatesResponse == null){
  62. return list;
  63. }
  64. return templatesResponse.getIndexTemplates();
  65. }
  66. /**
  67. * 判断模板是否已经存在
  68. * @param template 模板名-需明确
  69. * @return boolean
  70. */
  71. public boolean isTemplateExist(String template){
  72. List<IndexTemplateMetaData> list = getAllTemplates();
  73. if(list.isEmpty()){
  74. return false;
  75. }
  76. List<String> names = list.stream().map(IndexTemplateMetaData::name).collect(Collecto
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/853918
推荐阅读
相关标签
  

闽ICP备14008679号