MST

星途 面试题库

面试题:ElasticSearch创建索引API的基本参数及用途

请详细阐述使用ElasticSearch创建索引API时,常见的基本参数如index、settings、mappings的用途分别是什么,并举例说明如何在创建索引时合理设置这些参数。
23.8万 热度难度
数据库ElasticSearch

知识考点

AI 面试

面试题答案

一键面试

index

  • 用途:指定要创建的索引名称。索引是Elasticsearch存储和组织数据的逻辑容器,类似于关系型数据库中的数据库概念。一个Elasticsearch集群中可以有多个索引。
  • 示例:在使用PUT请求创建索引时,index体现在请求的URL路径中。例如:PUT /my_index,这里my_index就是指定的索引名称。

settings

  • 用途:用于配置索引的各种设置,包括分片数、副本数、索引的存储类型等。这些设置对索引的性能、可用性和数据存储方式有重要影响。
    • number_of_shards:指定索引的主分片数量。默认值为5。每个分片是一个独立的Lucene索引,分布在不同的节点上以实现水平扩展。
    • number_of_replicas:指定每个主分片的副本数量。默认值为1,副本分片用于提高索引的可用性和读取性能。
  • 示例
PUT /my_index
{
    "settings" : {
        "number_of_shards" : 3,
        "number_of_replicas" : 2
    }
}

上述示例中,将my_index索引的主分片数设置为3,每个主分片的副本数设置为2。

mappings

  • 用途:定义了索引中文档的字段及其数据类型。它类似于关系型数据库中的表结构定义,告诉Elasticsearch如何对文档中的字段进行索引和存储,包括字段的分词方式、是否可搜索等属性。
  • 示例
PUT /my_index
{
    "mappings" : {
        "properties" : {
            "title" : {
                "type" : "text"
            },
            "price" : {
                "type" : "float"
            },
            "date" : {
                "type" : "date"
            }
        }
    }
}

上述示例中,为my_index索引定义了三个字段,title字段类型为text(适合全文搜索),price字段类型为float用于存储浮点数,date字段类型为date用于存储日期。