面试题答案
一键面试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
用于存储日期。