# eager_global_ordinals란 무엇인가
Elastic공식 가이드에서 필요한 부분만 발췌하여 번역하였습니다.
# Global ordinals
- Global ordinals 는 doc values 최상위에 존재하는 데이터 구조로 각 유니크한 term에 대해 증가하는 넘버를 부여하는 형태로 존재 합니다.
keyword
와 text
필드에 적용 가능 합니다.
실제 doc values 에는 ordinals를 가지고 있는데 이는 세그먼트와 필드에 유니크 넘버를 부여한 것이고 Global ordinals는 그 위에 존재함으로써 segment ordinals와 global ordinals사이의 맵핑을 제공해 줍니다.
이로 인해 segment ordinals를 사용하는 작업, 예를 들면 terms aggregation, join 등이 일어날때 실행 시간을 단축 시키는 역할을 합니다.
이게 가능한 이유는 global ordinals만을 사용해서 shard level에서 aggregation을 수행하고, global ordinals를 real term으로 변환하는 과정은 final reduce phase (각 shard result를 합치는 phase)에서만 일어나기 때문 입니다.
# eager global ordinals
global ordinals는 default로 search-time 에 로드 됩니다. (indexing speed에 더 관심이 있는 경우)
eager_global_ordinals: true
를 field의 속성으로 주면 index의 refresh time 에 로드 시킵니다. (검색 시간이 더 중요한 경우)
즉 global_ordinals 를 로드시키는 시점이 search-time이나 refresh-time이냐에 따라서 eager_global_ordinals 옵션을 false 혹은 true로 설정하는 것 입니다.