ES-索引的增删改查

这篇具有很好参考价值的文章主要介绍了ES-索引的增删改查。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.索引

目的:存储学生的分数信息,且支持 搜索 “姓名、课程名、分数”


    --  示例数据 --  
  {
    "username":"zs",
    "courses": [
      {"course":"数学","grade": 99},
      {"course":"英语","grade": 88}
    ]
  }

1.1 创建索引

1.1.1 自动创建索引

put 数据时,es会自动创建索引(不推荐)

1.1.2 手动创建索引

user_course 为索引名


# 创建新索引
PUT /user_course
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword"
          }
        }
      },
      "courses": {
        "type": "nested",
        "properties": {
          "course": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          },
          "grade": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword"
              }
            }
          }
        }
      }
    }
  }
} 

courses 使用 nested , 支持 course=“数学” && grade>=98的查询
nested的作用,参考后续章节

1.2 删除索引

 DELETE /user_course

1.3 查看索引

     GET /user_course/_mapping

1.4 修改索引

1.4.1 创建新索引

PUT /user_course_new_index
{
  "mappings": {
     "name": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword",
            "ignore_above": 256
          }
        }
      },
    "properties": {
      "courses": {
        "type":"nested",
        "properties": {
          "course": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          },
          "grade": {
            "type": "text",
            "fields": {
              "keyword": {
                "type": "keyword",
                "ignore_above": 256
              }
            }
          }
        }
      }
     
    }
  }
} 

1.4.2 迁移数据

POST _reindex
{
  "source": {
    "index": "user_course"
  },
  "dest": {
    "index": "user_course_new_index"
  }
}

1.4.3 将对外访问的别名设置到新的 索引

POST /_aliases
{
  "actions": [
    {
      "add": {
        "index": "user_course_new_index",
        "alias": "my_alias"
      }
    }
  ]
}

对外提供别名访问的好处:ES内部可以修改索引,对外0感知文章来源地址https://www.toymoban.com/news/detail-513092.html

到了这里,关于ES-索引的增删改查的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包