ES HEAD常用操作

ES以RESTFul风格来命名API的,其API的基本格式如下:

  1. http://<ip>:<port>/<索引>/<类型>/<文档编号>

1. 进入HEAD界面

Web UI:http://192.168.0.99:9100

2. 创建索引库

索引受文件系统的限制。仅可能为小写字母,不能下划线开头。同时需遵守下列规则:

  • 不能包括 , /, *, ?, “, <, >, |, 空格, 逗号, #
  • 7.0版本之前可以使用冒号:,但不建议使用并在7.0版本之后不再支持
  • 不能以这些字符 -, _, + 开头
  • 不能包括 . 或 …
  • 长度不能超过 255 个字符

1. 页面指引创建

依次进入“索引” -> “新建索引”,填写“索引名称”、“分片数”、“副本数”,点击确认即可。

2. Rest API创建

1. 简单创建语句

  1. PUT <索引名> // 格式
  2. PUT test
  3. {}

2. 创建映射

  1. URLhttp://localhost:9200/test/
  2. PUT _mappings
  3. {
  4. "properties": {
  5. "cnName": {
  6. "type": "text",
  7. "fields": {
  8. "keyword": {
  9. "type": "keyword"
  10. }
  11. }
  12. },
  13. "emp_name": {
  14. "type": "text",
  15. "fields": {
  16. "keyword": {
  17. "type": "keyword"
  18. }
  19. }
  20. },
  21. "mark": {
  22. "type": "text",
  23. "fields": {
  24. "keyword": {
  25. "type": "keyword"
  26. }
  27. }
  28. },
  29. "emp_id": {
  30. "type": "text",
  31. "fields": {
  32. "keyword": {
  33. "type": "keyword"
  34. }
  35. }
  36. }
  37. }
  38. }

3. 创建带映射的索引

  1. URLhttp://localhost:9200
  2. PUT test
  3. {
  4. "settings": {
  5. "index": {
  6. "number_of_shards": "1",
  7. "number_of_replicas": "1"
  8. }
  9. },
  10. "mappings": {
  11. "properties": {
  12. "cnName": {
  13. "type": "text",
  14. "fields": {
  15. "keyword": {
  16. "type": "keyword"
  17. }
  18. }
  19. },
  20. "emp_name": {
  21. "type": "text",
  22. "fields": {
  23. "keyword": {
  24. "type": "keyword"
  25. }
  26. }
  27. },
  28. "mark": {
  29. "type": "text",
  30. "fields": {
  31. "keyword": {
  32. "type": "keyword"
  33. }
  34. }
  35. },
  36. "emp_id": {
  37. "type": "text",
  38. "fields": {
  39. "keyword": {
  40. "type": "keyword"
  41. }
  42. }
  43. }
  44. }
  45. }
  46. }

4. 创建自定义Type类型的索引

  1. 创建简单索引。

    1. URLhttp://ltsr003:9200
    2. PUT test
  2. 设置Type类型。

    1. URLhttp://ltsr003:9200/test/_mapping/info/
    2. PUT ?include_type_name=true
    3. {
    4. "properties":{
    5. "name23": {
    6. "type": "keyword"
    7. }
    8. }
    9. }

    3. 新增数据

    1. 指定ID

    1. PUT /[index]/[type]/[id] // 格式
    2. PUT /user/mock/1
    3. {
    4. "name": "zhangsan",
    5. "country": "China",
    6. "age": 18,
    7. "date": "2019-05-31"
    8. }

    2. 自动生成ID

    1. POST /[index]/[type] // 格式
    2. POST /user/mock
    3. {
    4. "name": "zhangsan2",
    5. "country": "China",
    6. "age": 18,
    7. "date": "2019-05-31"
    8. }

    4. 查询数据

    1. 查询所有数据

    1. GET /_search
    2. {}

    2. 查看指定索引库和类型所有数据

    1. GET /[index]/[type]/_search // 格式
    2. GET /user/mock/_search
    3. {}

    3. 根据ID搜索

    1. GET /[index]/[type]/[id] // 格式
    2. GET /user/mock/1
    3. {}

    5. 新增数据

    1. URLhttp://localhost:9200
    2. POST test/_doc
    3. {
    4. "cnName": "李四",
    5. "emp_name": "lisi",
    6. "mark": "lisi",
    7. "emp_id": "002"
    8. }

    6. 更新数据

    1. doc修改

    1. POST /[index]/[type]/[id]/_update // 格式
    2. POST /user/mock/1/_update
    3. {
    4. "doc": {
    5. "name": "修改内容TEST...."
    6. }
    7. }

    2. scripts修改

    1. POST /[index]/[type]/[id]/_update // 格式
    2. POST /user/mock/1/_update
    3. {
    4. "script": {
    5. "lang": "painless",
    6. "inline": "ctx._source.age += 20"
    7. }
    8. }

    7. 删除数据

    1. DELETE /[index]/[type]/[id] // 格式
    2. DELETE /user/mock/1
    3. {}

    8.删除索引

    1. 页面指引删除

    依次进入“概览” -> “<待删除的索引>” -> “动作” -> “删除”,输入“删除”,点击确认即可。

    2. Rest API删除

    修改URL栏:

    1. http://192.168.0.99:9200/user

    之后:

    1. DELETE
    2. {}

    参考

    博客园:【ES】Head插件操作ElasticSearch增删改查
    https://www.cnblogs.com/zhaixingzhu/p/12562834.html