2.13 (ElasticSearch-#Bulk,#Reindex)
PUT 인덱스 지정 후 생성하기
PUT 행 추가하기
GET 조회하기
DELETE 특정 행 삭제하기
DELETE 인덱스 삭제하기
PUT 동적으로 인덱스 생성하기
counter == 관객수
POST 관객수 증가시키기
GET 관객수 증가 확인하기
COUNTER == 1001이 된 것을 볼 수 있음
#Bulk API 를 사용해서 한번에 많은 데이터 넣기
--> Bulk API를 이용하면 한 번의 API 호출로 다수의 문서를 색인하거나 삭제할 수 있다.
POST _bulk 여러 개의 데이터를 추가하기
GET bulk를 사용해서 추가한 데이터 불러오기
#Reindex API
Reindex API는 한 인덱스에서 다른 인덱스로 문서를 복사할 때 사용
POST /_reindex 기존 인덱스를 다른 인덱스로 복사하기
dest == destination
_new가 생성됐기 때문에 created:1
GET 복사한 인덱스 데이터 확인하기
POST /_reindex 특정 데이터 검색 후 결과와 일치하는 문서만 복사
GET 정상적으로 복사됐는지 확인
POST _bulk 검색을 위해 데이터 추가
GET 2019년도 영화 데이터 읽어오기
POST 쿼리를 사용하여 2019년도 영화 데이터 읽어오기
복잡한 검색 쿼리 이용 시 POST(json문자열로 키워드 나열) 를 사용함
이것들을 #Query DSL이라고 얘기함 (SQL문과 비슷한 개념)
Query DSL을 이용하면 여러 개의 질의를 조합하거나 질의 결과에 대해 다시 검색을 수행하는 등 기존의 URI 검색보다 강력한 검색이 가능함
Query DSL 쿼리 구조
size | 리턴받는 결과의 개수를 지정한다.(기본값은 10) |
from | 어느 위치부터 반환할지를 결정한다. 0부터 시작하면 상위 0~10건의 데이터를 반환한다.(기본값은 0) |
timeout | 검색을 요청해서 결과를 받는 데까지 걸리는 시간을 나타낸다. timeout 시간을 너무 짧게 잡으면 전체 샤드에서 timeout을 넘기지 않은 문서만 결과로 출력되기 때문에 상황에 따라 결과의 일부만 나올 수 있다. 기본값은 무한대다. |
_source | 특정 필드만 결과로 반환하고 싶을 때 사용한다. |
sort | 특정 필드를 기준으로 정렬한다. asc, desc로 오름차순, 내림차순 정렬을 지정할 수도 있다. |
query | 검색될 조건을 정의한다. |
aggs | 문서 결과를 어떻게 출력할지에 대한 조건을 사용하는 공간 |
POST 극한직업 제목의 영화 데이터 검색하기
POST 여러 DB에서 검색하기 (,로 DB 나열)
_index가 movie_dynamic, movie_search 둘 다 보임
POST size 를 사용하여 검색 결과값 페이지처리
size:5 이기 때문에 검색결과가 5개만 나옴
POST from 을 이용하여 검색 결과값 페이지 처리
from:5 이기 때문에 검색결과가 5번째 다음부터 나옴