Elasticsearch

Elasticsearch Query 모음

PON_Z 2022. 11. 15. 16:44

GET

- 버전 및 세부정보 확인

GET /

 

 

 

- 모든 컬럼 조회 

GET _search
{  "query": {
    "match_all": {}
  }
}

 

- fluentd-test 인덱스에서 message 필드값이 "test" 인 모든 컬럼 조회 (timestamp 기준으로 내림차순 정렬)

GET fluentd-test/_search
{
  "sort" : { "created": "desc"},
  "query": {
    "match": {
      "message": "test"
    }
  }
}

 

- 모든 인덱싱 조회

GET _cat/indices

(+) 컬럼명까지 같이 조회 : GET _cat/indices?v 

 

- fluentd-test 인덱스의 매핑구조 조회

GET fluentd-test/_mapping

 

- 특정 인덱싱 조회
GET rsicd_rsicd_images/_search

 

 

PUT

- my-index-000001 인덱스의 _doc id=2에 필드 값 추가

PUT my-index-000001/_doc/2
{
  "text": "Geopoint as a string",
  "location": "32.0,127.1", 
  "@timestamp": "2022-09-01T12:10:30Z"
}


- "template1" 이라는 이름으로 인덱스 탬플릿 추가

(f* 패턴에 해당하는 인데그스이 탬플릿 중 BBOX의 데이터 type을 "geo_point"로 변환)

PUT _index_template/template1
{
  "index_patterns": ["f*"],
  "template": {
    "mappings": {
      "properties": {
        "BBOX": {
          "type": "geo_point"
        }
      }
    }
  }
}

 

POST

- 모든 인덱싱 삭제

POST /*/_delete_by_query
{
  "query": {
     "match_all": {}
  }
}

- alias

 

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "summary",
        "alias": "search-summary-alias"
      }
    }
  ]
}

POST _aliases
{
  "actions": [
    {
      "add": {
        "index": "labels_*",
        "alias": "search-label-alias"
      }
    }
  ]
}

 

 

Aggregation 

- 특정 인덱싱 arrgegation사용 예제

GET open_cities_ai_challenge_open_cities_ai_challenge_train_tier_1_labels/_search
{
  "aggs": {
    "imagepath_keyword": {
      "terms": {
        "field": "imagepath.keyword",
        "order": { "_count": "asc" }
      }
    } , "aggs": {
      "value_count": {
        "field": "imagepath.keyword"
      }
    } 
  }

728x90