elasticsearch查mapping时如何按字段类型筛选查看
时间: 2023-08-11 18:28:15 浏览: 58
要按字段类型筛选查看 Elasticsearch 的 Mapping,可以使用 Mapping API 中的 `properties` 参数,并在其中指定要查看的字段类型。
具体操作如下:
1. 发送以下 GET 请求以获取索引的 Mapping:
```bash
GET /<index>/_mapping
```
2. 在响应中,找到 `mappings` 字段,它包含了索引的 Mapping 信息。
3. 在 Mapping 信息中,查找 `properties` 字段。它是一个包含了所有字段的对象,每个字段都是一个键值对。
4. 根据需要,筛选出指定类型的字段。比如,想查看所有类型为 `text` 的字段,可以使用以下查询:
```bash
GET /<index>/_mapping?include_type_name=true&properties=field1,field2.text,field3.text.*
```
上述查询中:
- `include_type_name=true` 参数表示在字段名中包含类型名称。
- `properties` 参数指定了要查看的字段列表,其中 `field1` 是默认类型(即未指定类型)的字段,`field2.text` 表示类型为 `text` 的 `field2` 字段,`field3.text.*` 表示类型为 `text` 的 `field3` 字段下的所有子字段。
返回结果中,只包含指定类型的字段。
希望这个回答能够帮到你!
相关问题
es修改mapping字段类型_Elasticsearch索引的基本操作(4)-Mapping设置
在 Elasticsearch 中,我们可以通过 Mapping 来定义文档的字段类型、分词器、是否存储等属性。当我们创建索引时,可以直接在创建时指定 Mapping,也可以在创建索引后再进行 Mapping 的设置。
下面是修改 Mapping 字段类型的步骤:
1. 查看当前 Mapping
我们可以使用以下命令查看当前索引的 Mapping:
```
GET /my_index/_mapping
```
其中,`my_index` 是你要查询 Mapping 的索引名称。
2. 关闭索引
在修改 Mapping 前,需要先关闭索引,禁止写入操作,否则会导致数据丢失或 Mapping 设置不生效。使用以下命令关闭索引:
```
POST /my_index/_close
```
3. 修改 Mapping
我们可以使用 PUT Mapping API 来修改 Mapping。例如,将一个字段类型从 `text` 修改为 `keyword`:
```
PUT /my_index/_mapping
{
"properties": {
"my_field": {
"type": "keyword"
}
}
}
```
其中,`my_field` 是你要修改类型的字段名称。
4. 打开索引
修改 Mapping 后,需要重新打开索引,使得 Mapping 生效。使用以下命令打开索引:
```
POST /my_index/_open
```
5. 验证 Mapping
我们可以再次使用第一步的命令查看 Mapping,确认修改是否生效。
需要注意的是,Mapping 的修改是不可逆的,一旦修改成功,就无法恢复原来的 Mapping。因此,在进行 Mapping 修改时,需要谨慎操作,先备份数据再进行修改操作。
ElasticSearch中的mapping可以更新字段吗
是的,Elasticsearch中的mapping可以更新字段。您可以使用PUT Mapping API来更新字段。但是需要注意的是,一旦创建了索引,您就不能更改现有字段的数据类型。例如,如果您将一个字符串字段更改为数字字段,将无法将现有的字符串数据转换为数字数据。在这种情况下,您需要创建一个新的索引来更新字段。