본문 바로가기

👩‍💻TIL/엘라스틱서치5

[elasticsearch] 로그스태시로 엘라스틱서치에 Oracle 데이터 동기화하기 이전 글로 Logstash를 이용하여 MySQL에 있는 데이터를 엘라스틱서치로 동기화하는 것을 알아보았습니다. 👉로그스태시로 엘라스틱서치 MySQL 동기화하기 오늘은 MySQL이 아닌 오라클에 있는 데이터를 엘라스틱서치로 동기화하는 것을 정리해보려고 합니다. 먼저 큰 흐름은 MySQL이나 Oracle이나 거의 유사합니다. 다른 점이 있다면, 각각의 jdbc에 맞는 라이브러리를 사용한다는 것? 정도가 차이라고 할 수 있습니다. 1️⃣ 먼저 엘라스틱서치와 같은 버전의 Logstash를 다운받습니다. (👉 다운로드 링크) 2️⃣ jdbc 플러그인을 설치합니다. ./bin/logstash-plugin install logstash-input-jdbc 3️⃣ jdbc 플러그인이 설치되면 자신이 사용하는 RDBMS.. 2021. 2. 3.
[elasticsearch] 로그스태시로 엘라스틱서치 MySQL 동기화하기 [elasticsearch] 로그스태시로 엘라스틱서치 mysql 동기화하기 ELK Stack은 Elastic Search, Logstash, Kibana를 통칭하는 말인데, 데이터 로그들이 logstash를 거쳐 엘라스틱서치에 저장되고, 이를 시각화하여 Kibana에서 보여주게 된다. 그중에서도 로그스태시는 다양한 소스에서 데이터를 수집해 이를 변환하여, 저장소로 전달하는 역할을 한다. 소스의 종류, 사이즈, 형태에 관계 없이 수집할 수 있는 것이 특징적이다. 데이터가 로그 스태시를 거칠 때 필터링이 발생하는데, 필터를 통해 각 이벤트를 공통 형식으로 변환, 통합해줄 수 있다. 먼저, 로그스태시를 활용하여 jdbc(mysql)에 저장된 데이터를 엘라스틱서치로 자동으로 동기화하도록 설정하기를 해보자! 1️.. 2021. 1. 27.
[ElasticSearch] Scroll API를 사용하여 검색 / JAVA, Python 코드 [ElasticSearch] Scroll API를 사용하여 검색 / JAVA, Python 코드 이전 포스팅에 작성한 대로, 엘라스틱서치에서 1만 건 이상 대량의 데이터를 한 번에 검색하려고 하면 오류가 발생한다. 따라서, 검색조건을 잘 설정하여 1만 건 이하로 검색하거나 max_result_window를 늘려 검색하는 방법이 있다. 그러나 무작정 max_result_window를 늘리게 되면, 많은 리소스 사용으로 성능 문제를 야기할 수 있으며, 최대로 늘릴 수 있는 값이 5만건으로 한정적이기 때문에 권장되지 않는다. 더보기 👉관련글 보기 : [👩‍💻TIL/엘라스틱서치] QueryPhaseExecutionException: Result window is too large 에러 그래서 내가 대량 검색에 .. 2020. 4. 23.
[ElasticSearch] QueryPhaseExecutionException: Result window is too large 에러 [ElasticSearch] QueryPhaseExecutionException: Result window is too large 에러 org.elasticsearch.search.query.QueryPhaseExecutionException: Result window is too large, from + size must be less than or equal to: [10000] but was [232131]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting. 오전까지 잘되.. 2020. 4. 2.
[Elasticsearch] 엘라스틱 서치 분석기 구조 [Elasticsearch] 엘라스틱 서치 분석기 구조 엘라스틱서치를 공부하며 알게 된 내용들을 꾸준히 정리해보려고 합니다. 이번 글은 엘라스틱 서치 공식reference를 바탕으로 정리하였습니다. https://www.elastic.co/guide/en/elasticsearch/reference/current/analyzer-anatomy.html 먼저, 엘라스틱서치는 루씬기반의 텍스트 검색엔진 라이브러리입니다. 사전 매핑 없이 JSON 문서 형식으로 입력하면 별도의 이벤트가 없어도 바로 색인을 시작하며, 이렇게 저장된 데이터는 별도의 갱신 없이도 바로 검색에 사용될 수 있습니다. 이는 곧 색인 작업이 완료됨과 동시에 검색이 가능하다는 걸 의미합니다. 💡 분석기(analyzar)란? 엘라스틱서치는 아주.. 2020. 3. 27.