当前位置:   article > 正文

ES创建索引

es创建索引

Elasticsearch (ES) 中,创建索引可以通过 REST API 或者编程语言客户端实现。以下是一些常见的创建索引的方法:

通过 REST API 创建索引

可以使用 Elasticsearch 的 REST API 创建索引。下面是一个使用 PUT 方法创建名为 my_index 的索引的示例:

PUT /my_index
{
  "settings": {
    "number_of_shards": 1
  },
  "mappings": {
    "properties": {
      "title": {
        "type": "text"
      },
      "description": {
        "type": "text"
      },
      "created_at": {
        "type": "date"
      }
    }
  }
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

以上请求中,我们使用 PUT 方法创建了一个名为 my_index 的索引,并在请求体中指定了索引的设置和映射。settings 字段用于指定索引的设置,例如分片数量等。mappings 字段用于指定索引的映射,即文档结构。在上面的示例中,我们定义了三个字段:titledescriptioncreated_at。其中,titledescription 字段的类型是 textcreated_at 字段的类型是 date。我们可以根据需要修改这些字段的类型和属性。

通过编程语言客户端创建索引

Elasticsearch 提供了多种编程语言客户端,例如 Java、Python、JavaScript 等。下面是一些常见的创建索引的方法:

Java 客户端

在 Java 客户端中,可以使用 Elasticsearch 的 REST API 或者 Elasticsearch 提供的 Java API 创建索引。下面是一个使用 Java API 创建名为 my_index 的索引的示例:

RestHighLevelClient client = new RestHighLevelClient(
  RestClient.builder(new HttpHost("localhost", 9200, "http")));

CreateIndexRequest request = new CreateIndexRequest("my_index");
request.settings(Settings.builder()
  .put("index.number_of_shards", 1)
  .put("index.number_of_replicas", 0));

XContentBuilder mappingBuilder = XContentFactory.jsonBuilder();
mappingBuilder.startObject();
{
  mappingBuilder.startObject("properties");
  {
    mappingBuilder.startObject("title");
    {
      mappingBuilder.field("type", "text");
    }
    mappingBuilder.endObject();
    mappingBuilder.startObject("description");
    {
      mappingBuilder.field("type", "text");
    }
    mappingBuilder.endObject();
    mappingBuilder.startObject("created_at");
    {
      mappingBuilder.field("type", "date");
    }
    mappingBuilder.endObject();
  }
  mappingBuilder.endObject();
}
mappingBuilder.endObject();

request.mapping(mappingBuilder);

CreateIndexResponse response = client.indices().create(request, RequestOptions.DEFAULT);

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37

以上代码中,我们首先创建了一个名为 my_index 的索引,并设置了索引的设置和映射。然后,我们使用 Elasticsearch 提供的 Java API 将请求发送给 Elasticsearch,创建索引。最后,我们可以根据需要处理创建索引的响应。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/45533
推荐阅读
相关标签
  

闽ICP备14008679号