显式映射
edit显式映射
edit您比Elasticsearch更了解您的数据,因此虽然动态映射对于开始使用可能很有用,但在某些时候您会希望指定自己的显式映射。
创建带有显式映射的索引
edit您可以使用创建索引 API 来创建一个具有显式映射的新索引。
PUT /my-index-000001
{
"mappings": {
"properties": {
"age": { "type": "integer" },
"email": { "type": "keyword" },
"name": { "type": "text" }
}
}
}
向现有映射添加字段
edit您可以使用更新映射 API 向现有索引添加一个或多个新字段。
以下示例添加了 employee-id,这是一个 keyword 字段,并带有 index 映射参数值为 false。这意味着 employee-id 字段的值会被存储,但不会被索引或用于搜索。
PUT /my-index-000001/_mapping
{
"properties": {
"employee-id": {
"type": "keyword",
"index": false
}
}
}
更新字段的映射
edit除了支持的映射参数, 您不能更改现有字段的映射或字段类型。 更改现有字段可能会使已索引的数据无效。
如果您需要更改数据流支持索引中某个字段的映射,请参阅更改数据流的映射和设置。
如果您需要更改其他索引中字段的映射, 请创建一个具有正确映射的新索引 并将您的数据重新索引到该索引中。
重命名一个字段会使已经使用旧字段名称索引的数据失效。
相反,添加一个alias字段来创建一个备用字段名称。
查看索引的映射
edit您可以使用获取映射 API 来查看现有索引的映射。
GET /my-index-000001/_mapping
API返回以下响应:
{
"my-index-000001" : {
"mappings" : {
"properties" : {
"age" : {
"type" : "integer"
},
"email" : {
"type" : "keyword"
},
"employee-id" : {
"type" : "keyword",
"index" : false
},
"name" : {
"type" : "text"
}
}
}
}
}
查看特定字段的映射
edit如果您只想查看一个或多个特定字段的映射,您可以使用获取字段映射 API。
如果你不需要索引的完整映射,或者你的索引包含大量字段,这会很有用。
以下请求检索employee-id字段的映射。
GET /my-index-000001/_mapping/field/employee-id
API返回以下响应:
{
"my-index-000001" : {
"mappings" : {
"employee-id" : {
"full_name" : "employee-id",
"mapping" : {
"employee-id" : {
"type" : "keyword",
"index" : false
}
}
}
}
}
}