본문 바로가기
개발일기/파이썬

python 자주 사용하는 elasticsearch query 모음 (1)

by 프로그래머콩 2020. 1. 20.

준비
# es 라이브러리 연결
import elasticsearch

# es 서버 연결
es = elasticsearch.Elasticsearch("localhost:9200")

 

 

search  / 조건부 값 찾기 (여러개, 단일은 get)
# index와 doctype 이름은 company
# 'username':advertiser_name 일치하는 값 모두 찾기.

body = {
"query": {
"query_string": {
"default_field": "username",
"query": advertiser_name
}
}
}
t = es.search(index='complete', doc_type='complete', id=store_id, body=body)

 

update_by_query / 쿼리 업데이트, 조건부 수정
# index와 doctype 이름은 company
# 'username':username이 일치하는 값을 찾아 'status'필드에 status변수 값 저장하기

es.update_by_query(index='company', 
                               doc_type='company', 
                               q = {
                                   "script": {
                                       "status":status,
                                   },"query": {
                                       "match": {
                                           "username": username
                                       }
                                   }
                               })

 

delete_by_query / 조건부 삭제
# 'username':userID 와 일치하는 필드 찾아 삭제
result = es.delete_by_query(index='company', doc_type='company', q={'username': userID})