elasticsearch常见操作

索引index

查看集群状态:

复制代码
GET _cat/health

查看所有index:

说明:v是用来要求在结果中返回表头

复制代码
GET _cat/indices?v
GET _aliases

查看dev开头的index:

复制代码
GET _cat/indices/dev*

删除指定index:

复制代码
DELETE test_omp

复制或索引重命名:

复制代码
### 直接复制索引到新的索引名称
POST localhost:9200/_reindex
{
  "source": {
    "index": "indexName"
  },
  "dest": {
    "index": "newIndexName"
  }
}

### 查询复制索引到新的索引名称
POST localhost:9200/_reindex
{
  "source": {
    "index": "indexName",
    "type": "typeName",
    "query": {
      "term": {
        "name": "shao"
      }
    }
  },
  "dest": {
    "index": "newIndexName"
  }
}

文档document

https://blog.csdn.net/qq_19006223/article/details/110124775

https://javaedge.blog.csdn.net/article/details/110599524

查看指定索引指定id的文档:

复制代码
GET /test_gateway/_doc/L_-4DH0BA5KB_D7Szmt8

查看指定索引的所有文档(并根据指定字段排序,默认返回10条):

复制代码
GET /test_gateway/_search?q=*&sort=request_log.appType.keyword:asc&pretty
或json格式:
GET /test_gateway/_search
{
  "query": { "match_all": {} },
  "sort": [
    {"request_log.appType.keyword": "asc" }
  ]
}

模糊搜索:

复制代码
GET prod_artwork-omp/_search?from=0&size=2
{
  "query": {
    "wildcard": {
      "omp_request_log.uri": "upload"
    }
  }
}

新增文档使用PUT、POST请求。

复制代码
PUT /<target>/_doc/<_id>
POST /<target>/_doc/
PUT /<target>/_create/<_id>
POST /<target>/_create/<_id>

target为索引名称,_doc为默认type。通过前两种请求可看出,id可以自行指定,也可以由ES自动生成。_create可以保证只有当文档不存在的时候进行插入,而_doc还可以用于文档更新。

插入文档(也可指定_id:POST test_omp/_doc/{_id}):

复制代码
POST test_omp/_doc
{
  "omp_request_log": {
    "myid": "id001"
  }
}

删除文档(也支持json格式):

复制代码
DELETE test_omp/_doc/AQQmDn0BA5KB_D7SC_7f

POST /test_omp/_delete_by_query
{
  "query": {
    "match": {
      "_id": "AQQmDn0BA5KB_D7SC_7f"
    }
  }
}

修改文档:

复制代码
# 指定字段更新
POST test_omp/_update/9gUwDn0BA5KB_D7SWQLN
{
  "doc": {
      "omp_request_log": {
        "id": "myid002"
    }
  }
}

# 全字段更新
POST test_omp/_doc/9gUwDn0BA5KB_D7SWQLN
{
  "omp_request_log": {
    "id": "myid003"
  }
}

此外还可以通过脚本修改,例如将所有存在age字段的文档,其值改成5岁。

复制代码
POST /user/_update_by_query
{
  "script": {
    "source": "ctx._source['age']=5" 
  },
  "query": {
    "bool": {
      "must": [
        {
          "exists": {
            "field": "age"
          }
        }
      ]
    }
  }
}

此外update和_update_by_query字段还可以修改Filed,例如将name修改成name1,这块内容使用较少,如感兴趣,请参考官方文档。

映射和类型mapping

https://blog.csdn.net/Andre_dong/article/details/109672646

include_type_name:

在Elasticsearch 6.0.0或更高版本中创建的索引只能包含一个映射类型.在5.x中创建的具有多种映射类型的索引将继续像在Elasticsearch 6.x中一样工作.映射类型将在Elasticsearch 7.0.0中完全删除。

查看指定index的映射:

复制代码
GET test_omp/_mapping

添加指定index的映射(会顺带添加index):

复制代码
PUT test_omp?include_type_name=false
{
    "mappings": {
        "properties": {
            "service": {
                "type": "text",
                "fields": {
                    "keyword": {
                        "type": "keyword",
                        "ignore_above": 256
                    }
                }
            },
            "class": {
                "type": "text",
                "fields": {
                    "keyword": {
                        "type": "keyword",
                        "ignore_above": 256
                    }
                }
            },
            "omp_request_log": {
                "properties": {
                    "id": {
                        "type": "text"
                    },
                    "requestId": {
                        "type": "text"
                    },
                    "requestMethod": {
                        "type": "keyword"
                    },
                    "uri": {
                        "type": "text"
                    },
                    "requestHeader": {
                        "type": "text"
                    },
                    "requestParams": {
                        "type": "text"
                    },
                    "requestBody": {
                        "type": "text"
                    },
                    "responseCode": {
                        "type": "text"
                    },
                    "responseMsg": {
                        "type": "text"
                    },
                    "responseBody": {
                        "type": "text"
                    },
                    "bizResponseBody": {
                        "type": "text"
                    },
                    "exception": {
                        "type": "text"
                    },
                    "ipAddress": {
                        "type": "text"
                    },
                    "execTime": {
                        "type": "long"
                    },
                    "sysId": {
                        "type": "text"
                    },
                    "createTime": {
                        "type": "date"
                    },
                    "updateTime": {
                        "type": "date"
                    }
                }
            }
        }
    }
}

类型type:

https://www.cnblogs.com/koenigsea/p/13072923.html

相关推荐
数字新视界13 分钟前
2026模块化机房选型指南:行业市场发展趋势、占有率与竞争梯队分析报告解析
大数据·人工智能·物联网·数据中心·微模块机房·模块化机房·冷通道
姜穆澜2 小时前
OneID 从 0 到 1 完整生产案例(四)
大数据
OsDepK3 小时前
项目快速Git至仓库(完整版)
大数据·git·elasticsearch·搜索引擎
合米AI SOP系统3 小时前
传统产线如何快速上马落地 AI 防错?合米科技 AI SOP 7天即可上线。
大数据·人工智能·科技
思录Echo3 小时前
什么决定具身智能的最终走向?多技术路线与落地现实辨析
大数据·人工智能
xiaohaiAIgeo4 小时前
【2026年】AI监控加行为分析守护实验室安全
大数据·人工智能·科普知识
林墨聊AIGC4 小时前
动漫AI视频创作工具在哪找到的?2026年最新动漫AI视频平台与软件指南
大数据·人工智能·ai作画·aigc·音视频
故七月6 小时前
告别 AI 时代品牌 “隐身”:万域智瞰 AI‑GEO,构建品牌大模型时代营销新基建
大数据·人工智能
数字孪生视频孪生7 小时前
三维实时重构异构底座 核工危化无感定位跨境轨迹一屏统揽
大数据·运维·人工智能·重构·架构
腾讯云大数据7 小时前
腾讯云AI Native数据平台功能发布合集【8月】
大数据·人工智能·云计算·腾讯云