Elasticsearch java client 获取mapping

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 一、获取索引的所有mapping通过java客户端获取mapping:package elasticsearch.

一、获取索引的所有mapping

通过java客户端获取mapping:

package elasticsearch.in.action.client;

import java.net.InetAddress;
import java.net.UnknownHostException;

import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.cluster.metadata.MappingMetaData;
import org.elasticsearch.common.collect.ImmutableOpenMap;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;

public class TransClient {
    public static String clusterName = "elasticsearch";// 集群名称
    public static String serverIP = "127.0.0.1";// 服务器IP
    public static void main(String[] args) {
        System.out.println(getMapping("news", "sportnews"));
    }

    public static String getMapping(String indexname, String typename) {
        Settings settings = Settings.settingsBuilder().put("cluster.name", clusterName).build();
        String mapping="";
        try {
            TransportClient client = TransportClient.builder().settings(settings).build()
                    .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(serverIP), 9300));

            ImmutableOpenMap<String, MappingMetaData> mappings = client.admin().cluster().prepareState().execute()
                    .actionGet().getState().getMetaData().getIndices().get(indexname).getMappings();
            mapping = mappings.get(typename).source().toString();


            client.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }

        return mapping;
    }

}

二、获取所有的type以及每个type的mapping

mapping信息都是ImmutableOpenMap

for (ObjectObjectCursor<String, MappingMetaData> cursor : mappings) {
            System.out.println(cursor.key); // 索引下的每个type
            System.out.println(cursor.value.getSourceAsMap()); // 每个type的mapping
}
相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
15天前
|
Java Maven 索引
java 链接Elasticsearch
java 链接Elasticsearch
|
28天前
|
Java
elasticsearch使用java程序添加删除修改
elasticsearch使用java程序添加删除修改
9 0
|
3月前
|
Java
elasticsearch在Java中查询指定列的方法
elasticsearch在Java中查询指定列的方法
86 0
|
3月前
|
JSON 自然语言处理 定位技术
Elasticsearch Mapping是啥?
Elasticsearch Mapping是啥?
74 0
|
4月前
|
SQL Java 数据库连接
Could not open client transport with JDBC Uri: jdbc:hive2://192.168.88.10:10000: java.net.ConnectExc
Could not open client transport with JDBC Uri: jdbc:hive2://192.168.88.10:10000: java.net.ConnectExc
96 0
|
4月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
57 0
|
4月前
|
关系型数据库 MySQL Java
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
Elasticsearch【问题记录 01】启动&停止服务的2类方法及 java.nio.file.AccessDeniedException: xx/pid 问题解决(含启停shell脚本)
71 0
|
16天前
|
数据可视化 索引
elasticsearch head、kibana 安装和使用
elasticsearch head、kibana 安装和使用
|
28天前
|
存储 负载均衡 索引
linux7安装elasticsearch-7.4.0集群配置
linux7安装elasticsearch-7.4.0集群配置
113 0