Elasticsearch 创建索引 Java 实现
1.创建索引,支持实体转map
public boolean createIndex(T entity) {String index = indexName(entity);try {CreateIndexRequest request = new CreateIndexRequest(index);request.mapping(toMapping(entity));client.indices().create(request, RequestOptions.DEFAULT);} catch (IOException e) {log.error("索引创建失败,Exception:", e);}return false;}/*** 文档类型创建** @param entity* @return*/public Map toMapping(T entity) {Field[] fields = entity.getClass().getDeclaredFields();Map<String, Object> mapping = Maps.newHashMap();Map<String, Object> fieldMap = Maps.newHashMap();mapping.put("properties", fieldMap);Stream.of(fields).forEach(field -> {if (field.isAnnotationPresent(com.zhongfu.adm.es.annotations.Field.class)) {com.zhongfu.adm.es.annotations.Field annotation =field.getAnnotation(com.zhongfu.adm.es.annotations.Field.class);Map<String, Object> fieldType = new FieldMap();String name = StringUtils.hasLength(annotation.name()) ? annotation.name() : field.getName();fieldMap.put(name, fieldType);fieldType.put("type", annotation.type().name());fieldType.put("analyzer", annotation.analyzer());fieldType.put("search_analyzer", annotation.searchAnalyzer());fieldType.put("index", annotation.index());} else {fieldMap.put(field.getName(), FieldType.AUTO);}});return mapping;}
2.判断索引是否存在
public boolean isExistsIndex(String... indices) {try {GetIndexRequest request = new GetIndexRequest(indices);return client.indices().exists(request, RequestOptions.DEFAULT);} catch (IOException e) {log.error("请求失败,Exception:", e);}return false;}
3.删除索引
public boolean deleteIndex(String... indices) {try {DeleteIndexRequest request = new DeleteIndexRequest(indices);AcknowledgedResponse response = client.indices().delete(request, RequestOptions.DEFAULT);return response.isAcknowledged();} catch (IOException e) {log.error("索引删除失败,Exception:", e);}return false;}
Elasticsearch 创建索引 Java 实现相关推荐
- Java Elasticsearch创建索引
1,新建一个es的项目. 2,导入依赖Elasticsearch <dependencies><!--测试--><dependency><groupId> ...
- 怎样合理创建es索引_如何通过Elasticsearch创建索引库?
今天是刘小爱自学Java的第158天. 感谢你的观看,谢谢你. 学习计划安排如下:Elasticsearch作为一门全文检索技术,那它是如何使用的呢? 先学习Elasticsearch的一些语法,后续 ...
- Elasticsearch创建索引和映射结构详解
前言 这篇文章详细介绍了如何创建索引和某个类型的映射. 下文中[address]指代elasticsearch服务器访问地址(http://localhost:9200). 1 创建索引 ...
- elasticsearch创建索引映射
1.我们这里通过google自带的工具postman来创建索引,这里我们创建一个:vclogdb,看到返回"acknowledged": true,表示创建成功: 2.通过elas ...
- 在Elasticsearch中索引Java Bean的简单方法
在数据存储方面,Java程序员习惯于使用魔术般持久的Java Bean. 诸如Hibernate和用于关系数据存储的JPA规范或Morphia和Spring Data MongoDB之类的解决方案是受 ...
- Elasticsearch2.3.2创建索引java代码及异常处理
首先本文代码参考和引用了本博客的代码: http://www.cnblogs.com/coderdxj/p/6856145.html package com.test.entity; public c ...
- ElasticSearch创建索引:[hotel/6g9tufKRuWDdWfgE_F30Q] ElasticsearchStatusException[Elasticsearch exception
报错: [hotel/hxWlZTdjTuKaC8m2uzj_JQ] ElasticsearchStatusException[Elasticsearch exception [type=resour ...
- Elasticsearch 删除索引
章节 Elasticsearch 基本概念 Elasticsearch 安装 Elasticsearch 使用集群 Elasticsearch 健康检查 Elasticsearch 列出索引 Elas ...
- ElasticSearch Java Api(一) -创建索引
ElasticSearch Java API官网文档:https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/jav ...
- Elasticsearch Java Client创建索引
1 配置 pom.xml org.springframework.boot spring-boot-starter-test org.elasticsearch.client elasticsearc ...
最新文章
- MOTO行货如此服务——服务的南北差异
- sqlite数据库的基本增删改查操作
- .net MVC 简单图片上传
- 字符串_月隐学python第7课
- Python字典的常用操作
- VS, VS Code, VS Online, VS xxx, 你都分清了吗?
- 前端学习(1294):相对路径和绝对路径
- 判断一个字符串在另一个字符串中出现的次数
- 一天学一个模式_第一天:策略模式
- python能够处理图像的第三方库_基于图像预处理的几个库
- raise NotImplementedError
- SpringCloud实战(三)集成Open-Feign实现远程⽅法调⽤
- EBS 12.1.3 应用打补丁操作及问题处理
- 在 Linux中 cp复制文件时,出现略过的提示
- Scrapy+Selenium爬取动态网页:no ‘moz:firefoxOptions.binary‘ capability provided
- 微软自动调参工具—NNI安装与快速上手,AutoML必备工具
- nvaicat 下载加破解教程
- C端和B端的差异分析
- C++满足条件的数累加
- 怎么用计算机作word文档,电脑上怎么用Word文档
热门文章
- 编程过程中常见几何数学公式汇总
- HTML的表格边框的合并
- Python学习第2天:入门必备(基础篇)
- java读取文件 16进制_Java:文件到十六进制?
- 设置路由器虚拟服务器拦截广告,路由器怎么安装防火墙?拦截病毒广告就这么简...
- java根据身份证号或生日计算年龄
- 单机和弱联网游戏内购,白嫖的机会来了
- Java-Maven使用jwtt验证
- python怎么爬取电影海报_Python3 爬取时光网电影海报和电影数据
- matlab画任意正多边形,MATLAB——patch绘制多边形