Elasticearch索引mapping写入、查看、修改

京东云开发者
• 阅读 124

作者:京东物流 陈晓娟

一、ES

Elasticsearch是一个流行的开源搜索引擎,它可以将大量数据快速存储和检索。Elasticsearch还提供了强大的实时分析和聚合查询功能,数据模式更加灵活。它不需要预先定义固定的数据结构,可以随时添加或修改数据字段,而不需要进行繁琐的数据库迁移。横向扩展性好,ES的分布式特性,可以简单地将数据水平切分到多个节点上,实现规模的无缝扩展。

二、ES操作

1、postman

在Elasticsearch的早期版本中,用户主要依靠通用的API工具来进行操作和管理。Postman作为一个通用的API测试工具,能够发送各种HTTP请求,包括GET、POST、PUT、DELETE等,用于与Elasticsearch进行交互。由于Elasticsearch通过RESTful API提供服务,Postman成为了一个非常流行的选择‌。

(1)postman创建索引

 Elasticearch索引mapping写入、查看、修改



‌(2)查询索引

Elasticearch索引mapping写入、查看、修改

(3)删除索引 Elasticearch索引mapping写入、查看、修改

(4)删除文档

Elasticearch索引mapping写入、查看、修改

2、head插件

随着Elasticsearch的发展,Head插件逐渐被开发出来,提供了更多便利的功能。Head插件不仅能够显示集群的拓扑结构,还能执行索引和节点级别的操作,提供了可视化的查询接口,支持JSON验证器等。这些功能使得Head插件成为了管理和操作Elasticsearch的重要工具。

(1)安装head插件

https://blog.51cto.com/u_16099317/10710264

(2)安装浏览器扩展程序

a、https://github.com/tradiff/elasticsearch-head-chrome

b、下载压缩包 解压

c、添加到浏览器扩展程序中,输入连接信息

Elasticearch索引mapping写入、查看、修改

三、head插件下索引的增删改查操作

1、创建索引 (PUT/索引名)

DSL语言

{
  "settings": {
//索引的分片数,确定后无法修改,通常一个分片处理20-50G数据
    "number_of_shards": "2",
//每个分片有多少个副本,可动态修改
    "number_of_replicas": "1"
  },
  "mappings": {
    "XXX": {
      "dynamic": "false",
      "_all": {
        "enabled": false
      },
      "properties": {
        "uuid": {
          "type": "keyword"
        },
        "interface_config": {
          "type": "text"
        },...
      }
    }
  }
}



Elasticearch索引mapping写入、查看、修改

Elasticearch索引mapping写入、查看、修改

2、查询 (GET/索引名)

GET/dp_test_temp_interface_execution_record_pre 



Elasticearch索引mapping写入、查看、修改

3、删除 (DELETE/索引名)

DELETE /userinfo 

GET /userinfo 

 Elasticearch索引mapping写入、查看、修改

Elasticearch索引mapping写入、查看、修改

4、修改 (PUT/索引名)

PUT /userinfo/ _mapping
{
    "properties": {
        "age": {
          "type": "interger"
        }
    }
}

 Elasticearch索引mapping写入、查看、修改

四、编辑器与ES服务器的交互

1、创建客户端

 private static RestHighLevelClient createClient() {
        final BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
        credentialsProvider.setCredentials(AuthScope.ANY,
                new UsernamePasswordCredentials("XXX", "XXX"));

        RestClientBuilder builder = RestClient.builder(new HttpHost("XXX", XXX, "http"))
                .setHttpClientConfigCallback(httpClientBuilder ->
                        httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider));

        return new RestHighLevelClient(builder);
    }

2、对创建好的索引进行增删改查操作

RestHighLevelClient client = createClient();
//查询
private static void getDocument(RestHighLevelClient client) throws IOException {
        GetRequest getRequest = new GetRequest("XXX", "pcgat5EBH6d8RU1tFckI");
        GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);
        System.out.println("Get response: " + getResponse.getSourceAsString());
    }
//更新
private static void updateDocument(RestHighLevelClient client) throws IOException {
        Map<String, Object> updateMap = new HashMap<>();
        updateMap.put("message", "Elasticsearch is cool!");

        UpdateRequest updateRequest = new UpdateRequest("posts", "1")
                .doc(updateMap);
        UpdateResponse updateResponse = client.update(updateRequest, RequestOptions.DEFAULT);
        System.out.println("Update response: " + updateResponse.getResult());
    }
//删除
private static void deleteDocument(RestHighLevelClient client) throws IOException {
        DeleteRequest deleteRequest = new DeleteRequest("posts", "pcgat5EBH6d8RU1tFckI");
        DeleteResponse deleteResponse = client.delete(deleteRequest, RequestOptions.DEFAULT);
        System.out.println("Delete response: " + deleteResponse.getResult());
    }



Elasticearch索引mapping写入、查看、修改

点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
ES添加字段
背景Elasticsearch是schemaless的数据存储方案。可以任意的向索引中添加字段。在此需明确以下背景:1.ES新添加的字段只对新数据、新type起作用;原有已经索引的数据不会生效;2.为加快ES的检索和索引效率,构建索引时会指定其mapping结构;添加索引字段即修改mapping;3.目前我们采用两种索引方案
Stella981 Stella981
3年前
ElasticSearch(增put、删delete、改(本质是先删除后添加)post、查get、post)
一、ElasticSearch简介1.1什么是ElasticSearchElasticSearch,简称es,es是一个开源的高扩展的分布式全文搜索引擎,可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理pb级别的数据。es也使用java开发并使用Lucene作为其核心来实现所有索
Stella981 Stella981
3年前
Elasticsearch与Solr优缺点比较
Elasticsearch简介Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎ApacheLucene™基础上的搜索引擎,可以说Lucen
Stella981 Stella981
3年前
071. ElasticSearch 应用场景及核心概念
1\.ES使用场景给网站/APP添加搜索功能。存储、分析数据。管理、交互、分析空间信息,将ES用于GIS。2\.ES简介Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文检索引擎。Elast
可莉 可莉
3年前
071. ElasticSearch 应用场景及核心概念
1\.ES使用场景给网站/APP添加搜索功能。存储、分析数据。管理、交互、分析空间信息,将ES用于GIS。2\.ES简介Elasticsearch是一个基于Lucene构建的开源、分布式、RESTful接口全文检索引擎。Elast
Stella981 Stella981
3年前
Elasticsearch从入门到放弃:瞎说Mapping
前面我们聊了Elasticsearch的索引、搜索和分词器,今天再来聊另一个基础内容——Mapping。Mapping在Elasticsearch中的地位相当于关系型数据库中的schema,它可以用来定义索引中字段的名字、定义字段的数据类型,还可以用来做一些字段的配置。从Elasticsearch7.0开始,Mapping中不在乎需要
Stella981 Stella981
3年前
Net Core使用Lucene.Net和盘古分词器 实现全文检索
Lucene.netLucene.net是Lucene的.net移植版本,是一个开源的全文检索引擎开发包,即它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,是一个高性能、可伸缩的文本搜索引擎库。它的功能就是负责将文本数据按照某种分词算法进行切词,分词后的结果存储在索引库中,从索引库检索数据的
燕青 燕青
1年前
支持M1、DBeaverUltimate for Mac(数据库管理软件) v23.1.3旗舰激活版 附 激活密钥
是一款功能强大的开源数据库管理工具,支持多种数据库,包括MySQL、Oracle、PostgreSQL、SQLite、MicrosoftSQLServer等。它提供了一个直观的用户界面,使用户可以轻松地管理和查询数据库,包括创建和修改表、执行SQL查询、导
云存储的实际应用
云存储是一种基于云计算的存储服务,它通过互联网提供数据的存储、备份和处理服务。云存储的发展源于传统存储方式的不足,传统存储方式需要用户自行选择硬件设备、建立存储系统,并进行日常维护和管理,这需要大量的资金和人力投入。而云存储则通过云计算技术,将存储资源进行集中管理和调度,使得用户可以随时随地访问和管理自己的数据,更加灵活和便捷。
京东云开发者 京东云开发者
4个月前
Elasticsearch Mapping类型修改
背景通常数据库进行分库分表后,目前比较常规的作法,是通过将数据异构到Elasticsearch来提供分页列表查询服务;在创建Elasticsearch索引时,基本都是会参考目前的业务需求、关系数据库中的类型以及对数据的相关规划来定义相关字段mapping的