Elastic Stack

Elasticsearch search queries

4 분 소요

Elasticsearch에서 특정 키워드로 검색할 때 조건에 따라 적절한 방법을 사용해야합니다. 아래에서 검색할 때 대표적으로 많이 사용되는 term, match, match_phrase, string_query을 설명하겠습니다.

Kibana Tag Cloud 단어 빈도수 필터링 (count filtering)

최대 1 분 소요

Tag Cloud에서 일정 횟수 이상 등장한 단어만 보여주거나, 일정 횟수 이하의 단어는 보여주지 않고 싶을 때 Kibana에서 관련 설정을 UI에서 제공하지 않기 때문에 직접 설정을 추가해야합니다. 

Elasticsearch reindex 특정 기간만 복제

1 분 소요

Elasticsearch 기능을 테스트하면서 reindex를 종종 사용하고있는데, 원본 index의 document가 아무래도 많다보니까 그냥 reindex를 하면 불필요하게 많은 document가 복제되었습니다. 이 부분을 reindex 시 query로 filtering해서 일부...

Elasticsearch query size limit 수정

최대 1 분 소요

Elasticsearch에서 데이터를 검색하면 최대 10,000개까지 검색이 되는 것을 볼 수 있습니다. 10,000개 이상 검색이 필요한 경우에는 Scroll API(공식 문서)를 사용하는게 맞지만, 성능 상관없이 검색만 필요한 경우 아래와 같이 limit를 수정하면 10,000...

Elasticsearch reindex

최대 1 분 소요

Elasticsearch index를 그대로 복사할 때 reindex를 사용합니다.

Elasticsearch analyzer 후 다시 적용하기

2 분 소요

Kibana에서 tag cloud로 시각화를 진행할 때 nori와 같은 analyzer를 많이 이용합니다. 실사용 하다보면 tokenizing되지 말아야할 단어가 생기거나 불필요한 단어가 생기게 됩니다. 아래 시각화 예시를 보면, 최근, 코로나와 같은 단어는 매 번 자주 등장하는 ...

Elasticsearch upsert (update or insert)

1 분 소요

Elasticsearch에 데이터를 적재할 때 동일한 id가 존재하면 update하고 없으면 insert하고 싶을 때 upsert를 사용하면 가능합니다. update query에 "doc_as_upsert": true를 입력하면 됩니다.

Kibana 시각화 index 변경

1 분 소요

Kibana에서는 dashboard의 시각화에 사용된 index를 변경하는 것이 어렵습니다. 이 때문에 초기 구축 단계에서 dashboard를 다 만들었는데 index 명을 변경하게되면 dashboard를 처음부터 다시 구축하는 참사가 일어날 수 있습니다.

Windows에 ELK Stack 구축 4 (형태소 분석, Word Cloud)

7 분 소요

ELK Stack 마지막 구축 과정으로 Word Cloud 시각화를 진행해보겠습니다. 데이터로 사용한 기사의 내용에서 사용된 단어의 빈도로 시각화하기 위해서는 전부 단어로 tokenizing 해야합니다. 이를 위해 형태소 분석기 플러그인을 사용해야합니다.

Elasticsearch 외부 공개

최대 1 분 소요

윈도우에서 WSL을 사용하거나 분산 서버 환경을 구축했을 경우, elasticsearch에 접근하기 위해서는 network 설정이 필요(default host가 127.0.0.1이기 때문)합니다. 따라서 외부에서 접근 가능한 IP로 변경이 필요한데, IP를 변경하면 producti...

X-Pack Security 적용 (Elastic Stack 8.1 기준)

4 분 소요

앞의 포스트에서는 편의를 위해 security 옵션을 비활성화하고 진행했는데, 추후 실사용에서는 반드시 적용해야하는 부분입니다. 그리고 Elastic Stack 8.0이 release되면서 빠르게 8.1이 release됐고, major 변경에 따른 필수 설정이 많이 변경된 것으로 ...