Elasticsearch 是一个分布式搜索和分析引擎,广泛用于日志和事件数据分析、全文搜索等。以下是一些常用的 Elasticsearch 命令和操作的详细说明。

基础命令

索引操作

创建索引

PUT /index_name

示例:

PUT /my_index

删除索引

DELETE /index_name

示例:

DELETE /my_index

查看索引信息

GET /index_name

示例:

GET /my_index

列出所有索引

GET /_cat/indices?v

文档操作

创建或更新文档

POST /index_name/_doc/document_id

示例:

POST /my_index/_doc/1
{
  "name": "John Doe",
  "age": 30
}

获取文档

GET /index_name/_doc/document_id

示例:

GET /my_index/_doc/1

删除文档

DELETE /index_name/_doc/document_id

示例:

DELETE /my_index/_doc/1

查询操作

简单查询

GET /index_name/_search
{
  "query": {
    "match": {
      "field_name": "search_term"
    }
  }
}

示例:

GET /my_index/_search
{
  "query": {
    "match": {
      "name": "John"
    }
  }
}

复杂查询

GET /index_name/_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "field1": "value1" }},
        { "match": { "field2": "value2" }}
      ],
      "filter": [
        { "term":  { "field3": "value3" }}
      ]
    }
  }
}

示例:

GET /my_index/_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "name": "John" }},
        { "match": { "age": 30 }}
      ],
      "filter": [
        { "term":  { "active": true }}
      ]
    }
  }
}

聚合操作

简单聚合

GET /index_name/_search
{
  "size": 0,
  "aggs": {
    "aggregation_name": {
      "terms": {
        "field": "field_name"
      }
    }
  }
}

示例:

GET /my_index/_search
{
  "size": 0,
  "aggs": {
    "age_distribution": {
      "terms": {
        "field": "age"
      }
    }
  }
}

管理操作

查看节点状态

GET /_cat/nodes?v

查看集群健康状态

GET /_cat/health?v

查看集群状态

GET /_cluster/health

查看分片状态

GET /_cat/shards?v

查看索引映射

GET /index_name/_mapping

示例:

GET /my_index/_mapping

这些是一些基本的 Elasticsearch 命令,可以帮助你在日常使用中进行索引、文档和查询操作。根据具体需求,Elasticsearch 提供了更为丰富和复杂的功能。

刚学java菜鸡,永劫无间蚀月,王者荣耀王者,金铲铲小铂金,第五人格菜鸡,原神开服玩家,星穹铁道菜鸡,崩坏的菜鸡,闪耀暖暖,和平精英,LOL,CSGO,以及三A大作收集者等等。。。