서론: 간단히 배경 회사에서 2021년 하반기부터 검색 쪽을 맡아서 개발하고 있는데 정작 Elasticsearch(이하 ES)의 내부 구조를 전혀 모르니 읽어봐야겠다. 이 글을 적는 시점의 가장 최신 버전인 8.2가 대상이다. 본론 소스: https://github.com/elastic/elasticsearch ES는 Gradle로 구축하게끔 되어있다. $ ./gradlew localDistro Gradle이란 Groovy나 Kotlin DSL을 사용하는 빌드시스템이다. Kotlin DSL이 가독성이 더 좋고 컴파일 시간을 체크하거나 IDE와 호환이 되기 때문에 많이들 선호하는 편이다. JVM에서 실행되기 때문에 Java, Kotlin, Scala 등 JVM 계열 언어로 만들어진 모듈을 빌드할 때 사용한..