ITPub博客

首页 > 应用开发 > IT综合 > Elasticearch索引mapping写入、查看、修改

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

原创 IT综合 作者:京东技术 时间:2024-11-28 15:07:31 0 删除 编辑

作者:京东物流 陈晓娟

一、ES

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

二、ES操作

1、postman

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

(1)postman创建索引





‌(2)查询索引





(3)删除索引





(4)删除文档





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、添加到浏览器扩展程序中,输入连接信息





三、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"        },...      }    }  }}







2、查询 (GET/索引名)


GET/dp_test_temp_interface_execution_record_pre





3、删除 (DELETE/索引名)


DELETE /userinfo GET /userinfo







4、修改 (PUT/索引名)


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





四、编辑器与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());    }




来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70037994/viewspace-3053656/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
我是负责京东云云官网的技术品牌宣传工作

注册时间:2024-04-10

  • 博文量
    785
  • 访问量
    820152