본문 바로가기

내가 당면한 문제와 해결방안

elasticsearch max_result_window 설정

보통 지금 작업 중인 elasticsearch의 document 수는 pg 테이블 기준으로 따라감.

대략 70만개 이상.

 

아래 슬라이드 참고했을 시. 사항.

관리자 페이지에서 굳이굳이; 누가하라고 ㅈㄹ해서 그닥 안봐도 되는 페이징을 하다보니 max_result_window를 80만까지 설정해두었는데.

성능을 버리면서까지 이렇게 할 필요없었던 것 같음.

 

인덱스를 새로 만들때도 아무래도 기존 인덱스의 설정 그대로 가져와서 추가해줘야하니까.

첨에 만들때부터 똑바로 서비스를 만드는게 나은것같음.

 

스택오버플로우 참고

(https://stackoverflow.com/questions/35206409/elasticsearch-2-1-result-window-is-too-large-index-max-result-window)

 

  1. 56. [주의] deep pagination • deep pagination – size가 너무 크거나 from이 너무 큰 경우 문제가 될 수 있다 – 예를 들어 총 검색 요청과 관련된 shard가 총 5개이고, 검색 결과는 10개만 가져오는 경우를 보자. 이 중 1페이지를 가져오는 경우, • 각 shard가 있는 노드에서 문서를 scoring한 후 정렬하여 각각 10개의 문서를 리턴한다. • coordinating node는 반환된 총 50개의 문서를 재정렬한 후 10개의 문서를 리턴한다
  2. 57. [주의] deep pagination • deep pagination – 만약 1000페이지를 가져오는 경우라면(from = 1000, size = 10), 정렬된 문서에서 10,001에서 10,010번째까지의 문서를 리턴해야 한다. • 이 경우에는 각 노드에서 scoring한 문서 중 10,010개의 문서를 request node에 반환해야 한다. • coordinating node에서는 총 50,050개의 문서를 정렬하여 10개는 리턴하고, 나머지 50,040개의 문서는 버리게 된다. • 이와 같은 이유로 검색 엔진 웹에서는 일반적으로 1000 페이지 이상은 제공하지 않는다.

(https://www.slideshare.net/JunyiSong1/elasticsearch-45936425)

 

 

추가는 이렇게 한다.

curl -XPUT "http://localhost:9200/my_index/_settings" -d '{ "index" : { "max_result_window" : 500000 } }'

(stackoverflow.com/a/35223055/10194999)

'내가 당면한 문제와 해결방안' 카테고리의 다른 글

multiple jdbc input and clone  (0) 2020.06.19
logstash clone 설정  (0) 2020.06.17
logstash 설정  (0) 2020.06.16
logstash conf  (0) 2020.06.16
alias 변경 예시  (0) 2020.06.16