본문 바로가기
728x90

Programming/Elasticsearch4

[Elasticsearch] 조회 성능 개선 팁 최근에 quadkey를 기반으로 한 poi 조회 API의 응답 속도가 느려져 elasticsearch의 조회 성능을 개선하면서 느낀 몇가지 팁을 공유해볼까 합니다. timeout QueryDsl로 데이터를 조회할 경우 timeout이라는 옵션을 요청에서 보낼 수 있습니다. timeout을 3초로 설정했을 때, 결과를 받는 시간이 3초가 넘어버리면 해당 결과를 받을 수 없게됩니다. 이는 쿼리의 병목현상을 막을 수가 있습니다. Search latency가 느려지는 경우 성능에 영향을 미칠 수 있기 때문입니다. Search Latency 일라스틱 서치의 클러스터에 전송된 요청은 큐에 쌓이게 됩니다. 이 때, 큐에 요청이 쌓여 지연이 발생하는 것을 Latency라고 부릅니다 대기 시간이 길어질 수록 검색 처리 .. 2021. 4. 7.
[Elasticsearch] ElasticsearchOperations로 요청 보내기 ElasticsearchOperations Query를 받아서 Elasticsearch에 요청을 보내는 역할을 합니다 High Level Rest Client를 Spring Data Elasticsearch의 ElasticsearchOperations로 감싸 추가 기능을 제공합니다. High Level Rest Client는 Elasticsearch 내부적으로 Low Level Rest Client를 사용하고 있습니다 그래서 ElasticsearchOperations로, High Level Rest Client 둘 중 하나를 골라서 사용해도 무방합니다. 아래 Operations를 결합합니다 DocumentOperations : id를 기반으로 entity를 저장, 업데이트, 조회 SearchOperati.. 2021. 3. 16.
[Elasticsearch] snapshot 저장과 불러오기 Snapshot 저장 1. snapshot용 repository 생성 /config/elasticsearch.yml path.repo: ["/usr/share/elasticsearch/backup"] 2. elasticsearch 재시작 3. repository 등록 elasticsearch 서버에 생성한 repository를 등록한다 PUT /_snapshot/my_backup { "type": "fs", "settings": { "compress": true, "location": "/usr/share/elasticsearch/backup" } } location snapshot의 위치 compress mapping과 settings 메타 데이터만 압축 4. Repository 등록 확인 reposi.. 2021. 3. 11.
[Elasticsearch] index API 살펴보기 Create Index index aliases mappings settings request PUT twitter 인덱스 이름은 아래 규칙을 따른다 Lowercase only Cannot include \, /, ``, ?, ", , |, (space character), ,, # Indices prior to 7.0 could contain a colon (:), but that’s been deprecated and won’t be supported in 7.0+ Cannot start with ``, _, + Cannot be . or .. Cannot be longer than 255 bytes (note it is bytes, so multi-byte characters will count t.. 2021. 3. 9.
728x90