当前位置:   article > 正文

ElasticSearch的REST APIs 之 索引的mapping管理

es put mapping

基于ES 7.7

包括4个api: Put mapping, Get mapping, Get field mapping, Type exists(7.0.0已废弃)

1. 设置/Put mapping

给已现有的索引添加字段, 或者修改现有字段的搜索设置(search settings)。官方文档

  1. #设置单个索引
  2. PUT /<index_name>/_mapping
  3. # 同时设置多个索引(使用同样的mapping)
  4. PUT /<index_name,index_name2>/_mapping
  5. # 更新所有索引: 可以忽略索引名称, 或者使用参数 `_all`
  6. PUT /_all/_mapping
  7. PUT /_maping

查询参数

allow_no_indices

当没有匹配的索引时,是否正常返回数据(否则抛出错误)。

如果设置为true, 则当使用通配符(*)、索引别名、_all匹配到的索引不存在(missing)或者已关闭(closed)时,不会抛出错误。

默认false, 表示会抛出错误。

expand_wildcards

通配符查询时可以匹配的索引的条件, 多个值之间以英文逗号分割, 比如"open,hidden"。默认是open。可用的值有:

  • all: 匹配所有open和closed的索引, 包括隐藏的(hidden).
  • open: 默认, 表示只匹配开放中的索引
  • closed: 只匹配关闭的(closed)的索引
  • hidden: 匹配隐藏的(hidden)的索引, 必须和open/closed联合使用. (官方文档说open和closed可以一起用, WAF??)
  • none: 不接受通配符.

ignore_unavailable

如果有索引不存在时是否忽略。

默认false,就是返回404并抛出错误信息。查询时只要有一个索引不存在,则都抛出错误。

master_timeout

连接到master节点的超时时间,默认 30s

timeout

等待返回结果的超时时间,默认 30s

Request Body

*properties

必填, mapping对象。字段的mapping。

如果是一个新的字段,会包含以下映射:

  • 字段名称
  • 字段数据类型
  • mapping的参数

如果是已存在的字段, 则参照本节内容后面的 "如果修改已存在字段的映射".

几个栗子

1. 新建索引时

单个索引:

  1. # 单个索引
  2. ## 先建立一个索引, 不带mapping
  3. PUT /publications
  4. ## 再定义索引的mapping
  5. PUT /publications/_mapping
  6. {
  7. "properties": {
  8. "title": { "type": "text"}
  9. }
  10. }

同时给多个索引定义一样的mapping:

  1. # 先建立两个索引, 不带mapping
  2. PUT /twitter-1
  3. PUT /twitter-2
  4. # 给这两个索引设置一样的mapping
  5. PUT /twitter-1,twitter-2/_mapping
  6. {
  7. "properties": {
  8. "user_name": {
  9. "type": "text"
  10. }
  11. }
  12. }

同时给多个索引设置mapping时, 可以使用通配符, 且遵循 多个索引名称规则(multiple index names)

2. 给已存在的object字段增加新的属性

我们可以使用"put mapping api"给已有的object类型的字段增加新的属性。

我们先新建一个索引,同时指定一个object类型的字段name, 它内部有一个text类型的字段first

  1. DELETE /my_index
  2. PUT /my_index
  3. {
  4. "mappings":{
  5. "properties":{
  6. "name":{
  7. "properties": {
  8. "first":{
  9. "type": "text"
  10. }
  11. }
  12. }
  13. }
  14. }
  15. }

查看mapping, 这时name只有一个字段:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/842385?site
推荐阅读
相关标签
  

闽ICP备14008679号