返回
Elasticsearch之mapping之创建类型
闲谈
2023-10-26 19:20:16
在之前的文章中,我们介绍了如何创建索引,如何添加文档,如何删除索引等。那么在本文中,我们将继续学习Elasticsearch中的另一个重要概念——mapping,以及如何创建类型。
1. 什么是mapping?
mapping是Elasticsearch中的一种数据结构,它定义了索引中字段的类型、格式和分析器。当您创建索引时,必须指定mapping,以便Elasticsearch知道如何存储和检索数据。
2. 如何创建mapping?
有两种方法可以创建mapping:
- 在创建索引时指定mapping。
- 使用PUT API创建mapping。
在创建索引时指定mapping的语法如下:
PUT /index_name
{
"mappings": {
"type_name": {
"properties": {
"field_name": {
"type": "data_type"
}
}
}
}
}
其中:
index_name
是要创建的索引的名称。type_name
是要创建的类型的名称。properties
是要定义的字段的集合。field_name
是要定义的字段的名称。data_type
是要定义的字段的数据类型。
3. mapping的常见数据类型
Elasticsearch支持多种数据类型,包括:
text
:用于存储文本数据。keyword
:用于存储不分词的文本数据。long
:用于存储长整型数据。integer
:用于存储整型数据。short
:用于存储短整型数据。byte
:用于存储字节数据。double
:用于存储双精度浮点数数据。float
:用于存储单精度浮点数数据。boolean
:用于存储布尔值。date
:用于存储日期数据。
4. mapping的常见分析器
Elasticsearch支持多种分析器,包括:
standard
:标准分析器,将文本数据转换为小写,并删除标点符号和空格。keyword
:分析器,不分词文本数据。stop
:停用词分析器,将停用词从文本数据中删除。stemmer
:词干分析器,将词根从文本数据中提取出来。nGram
:N-Gram分析器,将文本数据转换为N-Gram。
5. 创建类型
在Elasticsearch中,一个索引可以包含多个类型。类型是索引的逻辑分区,可以用于存储不同类型的数据。
要创建类型,可以使用PUT API。语法如下:
PUT /index_name/_mapping/type_name
{
"properties": {
"field_name": {
"type": "data_type"
}
}
}
其中:
index_name
是要创建类型的索引的名称。type_name
是要创建的类型的名称。properties
是要定义的字段的集合。field_name
是要定义的字段的名称。data_type
是要定义的字段的数据类型。
6. 总结
在本文中,我们介绍了Elasticsearch中的mapping是什么,如何创建mapping,以及mapping的常见数据类型和分析器。我们还介绍了如何在Elasticsearch中创建类型。希望这些知识能够帮助您更好地使用Elasticsearch。