索引命名

业务索引: 业务+版本号
日志索引:业务+日期时间

索引别名

  1. POST _aliases
  2. {
  3. "actions" : [
  4. {
  5. "add" : {
  6. "index" : "test_index",
  7. "alias" : "test_alias",
  8. "is_write_index" : true
  9. }
  10. }
  11. ]
  12. }

通过别名来滚动更新索引

  1. 先create一个新的索引

    1. PUT test_index2
  2. 再将alias指向新的索引并移除旧的alias

    1. POST _aliases
    2. {
    3. "actions": [
    4. {
    5. "remove": {
    6. "index": "test_index2",
    7. "alias": "test_alias"
    8. }
    9. },
    10. {
    11. "add": {
    12. "index": "test_index",
    13. "alias": "test_alias",
    14. "is_write_index": true
    15. }
    16. }
    17. ]
    18. }

    创建方式

  • 动态创建 - 直接put
  • 静态创建 - 指定mapping
  • 滚动创建

    滚动索引命名要规范,符合自动增长模式,建议字母(必须小写字母)+6位数字

方式一

  1. # 语法1
  2. POST /<rollover-target>/_rollover/<target-index>
  3. # 语法2
  4. POST /<rollover-target>/_rollover/
  1. # 案例
  2. PUT /rolltest-rollover-index-000001
  3. {
  4. "aliases":{
  5. "rolltest-rollover-index":{}
  6. }
  7. }
  8. POST rolltest-rollover-index/_rollover
  1. # 官方案例
  2. PUT /logs-000001
  3. {
  4. "aliases": {
  5. "logs_write": {}
  6. }
  7. }
  8. POST /logs_write/_rollover
  9. {
  10. "conditions": {
  11. "max_age": "7d",
  12. "max_docs": 1000,
  13. "max_size": "5gb"
  14. }
  15. }
  16. ## 响应
  17. {
  18. "acknowledged" : false,
  19. "shards_acknowledged" : false,
  20. "old_index" : "logs-000001",
  21. "new_index" : "logs-000002",
  22. "rolled_over" : false,
  23. "dry_run" : false,
  24. "conditions" : {
  25. "[max_size: 5gb]" : false,
  26. "[max_docs: 1000]" : false,
  27. "[max_age: 7d]" : false
  28. }
  29. }