elasticsearch 기초 조회 문장과 상용 문장

자주 사용하는 es 조회 문장 정리:kibana 기반 Dev Tools 제어판
색인 관련 조회
//모든 인덱스 및 용량 조회
    GET _cat/indices
//쿼리 색인 매핑 구조 GET my_index/_mapping
//모든 색인 매핑 구조 조회
    GET _all
//모든 동일한 접두사 인덱스 조회
    GET my-*/_search
//모든 색인 템플릿 조회
    GET _template
//특정 색인 템플릿 질의
    GET _template/my_template
 
집단 관련
 
//클러스터 건강 상태 조회
    GET _cluster/health
//모든 노드 조회
    GET _cat/nodes
//쿼리 인덱스 및 조각별 배포 GET _cat/shards
//모든 플러그인 조회
    GET _cat/plugins
 
쓰기 모듈
---색인 템플릿 쓰기
PUT _template/my_template {     "template": "my-*",     "order": 0,     "settings": {          "number_of_shards": 10,  "number_of_replicas": 0     },     "mappings": {
      "default": {
  "_all": {
        "enabled": false
      },

        "properties": {           "name": {             "type": "text"          },           "age": {             "type": "long"          }         }     }   }
}
--------- 색인 매핑 구조 만들기
PUT my_index
{
  "mappings": {
    "doc": {
      "properties": {
        "name": {
          "type": "text"
        },
        "blob": {
          "type": "binary"
        }
      }
    }
  }
}

색인 쓰기
PUT my_index/doc/1
{
  "name": "Some binary blob",
  "blob": "U29tZSBiaW5hcnkgYmxvYg==" 
}

삭제
//인덱스
DELETE my-index
//템플릿
DELETE  _template/my_template 
 
DSL 쿼리 질의
------- 로컬 플러그인 쿼리 사용
{
"size": 10,
"from": 0,
"query": { "function_score": { "script_score": { "script": { "inline": "featurescore", "lang": "native", "params": { "name": "you", "age": "20"} } }, "query": { "bool": { "filter": { "term": { "name": "you"} } } } } }, "_source": { "includes": ["name", "age"] }, "sort": { "_score": { "order": "asc"} }
}
//인라인 지정 플러그인 이름lang 지정 플러그인 형식native는 로컬 플러그인 파라미터 정의 플러그인에서 XContentMapValues를 사용합니다.nodeStringValue(params.get("name"),null)에서 가져오고elasticseach에 저장된 필드 값은source()를 사용합니다.get ("name") 를 가져오면 플러그인은 es의 모든 데이터를 병렬 처리합니다. 
_source 반환 필드,sort 플러그인 처리 결과의 정렬 필드 지정
기초query
//모든 GET 조회 _search {   "query": {     "match_all": {}   } }
//단일 인덱스의 고정 속성 조회
--- 정확히 일치
GET _search {   "query": {     "term": { "name": "you"}   } }
 
--- 모호 일치
GET _search {   "query": {     "match": { "name": "you"}   } }
--- 범위 찾기
GET _search
{
  "query": {
    "range": {
        "age":{ "gte": 15 , "lte": 25 }
    }
  }
}
//기능 질의
----필터링
GET my_index/_search {   "query": {     "bool": {       "filter": {         "term":{"age":1095}       }     }   } }
또는
GET my - test/_search { "query": { "bool": { "should": [{ "term": { "name": "you"} }, { "match": { "age": 20 } }] } } }
AND
GET my-test/_search {   "query": {     "bool": {       "must": [{         "match": {           "name": "you"        }       },{         "range":{         "age":{           "from": 10 , "to": 20         }          }       }]     }   } }
반드시
GET my_index/_search {   "query": {     "bool": {       "must": {         "range": {           "age": { "from": 10, "to": 20 }         }       }     }   } }
반드시
GET my_index/_search {   "query": {     "bool": {       "must_not": {         "term": {           "name": "you"        }       }     }   } }
--- 복합 찾기
GET my_index/_search  { "query": { "bool": { "should": [{ "match": { "age": 40 } },  { "match": { "age": 20 } }], "filter": {   "match":{     "name":"you"  } } } } }
------인덱스 마이그레이션
--- 장면이 A 인덱스에서 B 인덱스로 복사 POST_reindex {   "source": {     "index": "my_index"  },   "dest": {     "index": "new_my_index"  } }
 
검색 기반 삭제
POST test-index/_delete_by_query {   "query":{         "term": {          "cameraId":"00000000002"        }   }
}
-- 질의
GET test-index/_search {   "query":{         "term": {          "cameraId":"00000000002"        }   } }
 

좋은 웹페이지 즐겨찾기