以下是关于“ES创建mapping”的完整攻略:
步骤1:创建索引
在创建mapping之前,需要先创建一个索引。可以使用以下命令创建一个名为my_index的索引:
PUT /my_index
在上面的命令中,PUT是HTTP请求方法,/my_index是索引名称。
步骤2:创建mapping
在创建索引后,需要创建mapping。可以使用以下命令创建一个名为my_type的mapping:
PUT /my_index/_mapping/my_type
{
"properties": {
"title": {
"type": "text },
"description": {
"type": "text"
},
"price": {
"type": "float"
},
"created_at": {
"type": "date"
}
}
}
在上面的命令中,PUT是HTTP请求方法,/_index/_mapping/my_type是索引名称和类型名称。在mapping中,我们定义了四个字段:title、description、price和created_at。每个字段都有一个类型,例如text、float和date。
示例说明
以下是两个示例,分别演示了如何创建一个包含不同字段类型的mapping:
示例1:创建包含text和keyword字段的mapping
假设我们需要创建一个包含text和keyword字段的mapping。可以使用以下命令创建mapping:
PUT /my_index/_mapping/my_type
{
"properties": {
"title": {
"type": "text"
},
"category": {
"type": "keyword"
}
}
}
在上面的命令中,我们定义了两个字段:title和category。title字段的类型为text,category字段的类型为keyword。
示例2:创建包含nested字段的mapping
假设我们需要创建一个包含nested字段的mapping。可以使用以下命令创建mapping:
PUT /my_index/_mapping/my_type
{
"properties": {
"title": {
"type": "text"
},
"comments": {
"type": "nested",
"properties": {
"author": {
"type": "text"
},
"comment": {
"type": "text"
}
}
}
}
}
在上面的命令中,我们定义了两个字段:title和comments。comments字段的类型为nested,其中包含两个子字段:author和comment。
总结:
- 在创建mapping之前,需要先创建一个索引。
- 可以使用PUT请求方法创建索引和mapping。
- 在mapping中,需要定义字段和字段类型。
- 可以定义不同类型的字段,例如text、keyword、float和date。
- 可以定义nested字段,其中包含多个子字段。