ElasticSearch12 [ELK] 5. elasticsearch 노리 한글 형태소 분석기 Nori 한글 형태소 분석기 한글은 형태의 변형이 매우 복잡한 언어입니다. 특히 복합어, 합성어 등이 많아 하나의 단어도 여러 어간으로 분리해야 하는 경우가 많아 한글을 형태소 분석을 하려면 반드시 한글 형태소 사전이 필요합니다. Elasticsearch 6.6 버전부터 공식적으로 Nori(노리) 라고 하는 한글 형태소 분석기를 Elastic사에서 공식적으로 개발해서 지원을 하기 시작했습니다. nori_tokenizer Nori는 nori_tokenizer 토크나이저와 nori_part_of_speech, nori_readingform 토큰 필터를 제공합니다. 먼저 nori_tokenizer 토크 나이저를 사용해서 한글을 간단하게 테스트할 수 있습니다. 다음은 standard와 nori_tokenizer.. 2022. 6. 27. [ELK] 4. elasticsearch 데이터 색인과 텍스트 분석 역 인덱스 - Inverted Index 데이터 시스템에 다음과 같은 문서들을 저장한다고 가정해 보겠습니다. 일반적으로 관계형 DB에서는 테이블 구조로 저장을 합니다. 만약 Text에서 fox를 포함된 행들을 찾을 때 한 줄씩 찾아서 가져올 것입니다. 전통적인 RDBMS 에서는 like 검색을 사용하기 때문에 데이터가 늘어날수록 검색해야 할 대상이 늘어나 시간도 오래 걸리고, 내용을 모두 읽어야 하기 때문에 기본적으로 속도가 느립니다. Elasticsearch는 데이터를 저장할 때 다음과 같이 역 인덱스라는 구조를 만들어 저장을 합니다. Elasticsearch에서는 추출된 각 키워드를 텀(term) 이라고 부릅니다. 이렇게 역 인덱스가 있으면 fox를 포함하고 있는 도큐먼트들의 id를 바로 얻어올 수 .. 2022. 6. 26. [ELK] 3. elasticsearch query DSL 정확도 - Relevancy 검색 쿼리에 대해 배우기 전에 elasticsearch의 검색엔진의 알고리즘에 대해 알아보겠습니다. (가볍게 읽어주세요) Elasticsearch 와 같은 풀 텍스트 검색엔진은 검색 결과가 입력된 검색 조건과 얼마나 정확하게 일치하는 지를 계산하는 알고리즘을 가지고 있어 이 정확도를 기반으로 사용자가 가장 원하는 결과를 먼저 보여줄 수 있습니다. 이 정확한 정도를 relevancy 라고 합니다. 스코어 (score) 점수 elasticsearch의 검색 결과에는 스코어 점수가 표시가 됩니다. 점수는 검색된 결과가 얼마나 검색 조건과 일치하는지을 나타내며 점수가 높은 순으로 결과를 보여줍니다. Elasticsearch 는 이 점수를 계산하기 위해 BM25 라는 알고리즘을 이용합.. 2022. 6. 24. [ELK] 2. Elasticsearch Document CRUD, Bulk, Search Elasticsearch에서는 단일 도큐먼트별로 고유한 URL을 갖습니다. 도큐먼트에 접근하는 URL은 http://://_doc/ Elasticsearch 7.0 부터는 도큐먼트 타입 개념이 사라지고 대신 고정자 _doc 으로 접근해야 합니다. 다음은 curl 도구를 이용해서 my_index 인덱스에 도큐먼트 id가 1인 데이터를 입력하는 예제입니다. $ curl -XPUT "http://localhost:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d' { "name": "Jongmin Kim", "message": "안녕하세요 Elasticsearch" }' 이후부터는 elasticsearch의 REST 명령들은 Kibana의 Dev To.. 2022. 6. 23. [ELK] 0. Elasticsearch 환경 구축 ELK 포스팅에서는 환경 구축에 대한 설명은 넘어가고, ELK와 beats의 사용법에 초점을 둔 포스팅을 계획으로 삼고 있다. 필자는 google cloud paltform, putty, windows 10환경이고, ELK B 7.11 제품을 사용한다. 사실 환경 구축(보안 설정..)하는 것이 매우 매우 힘들 것이다. 아래 유튜브 영상을 참고하면 큰 도움이 될 것이다. (하나하나 따라가도 좋고, 필요한 부분을 발췌해서 봐도 좋다) https://www.youtube.com/watch?v=Ks0P49B4OsA&list=PLhFRZgJc2afp0gaUnQf68kJHPXLG16YCf&index=1 혹시나 필자와 비슷한 환경에서 환경 구축을 하는데 어려움을 느낀다면 언제든지 물어봐주면 좋겠다. 다른 환경은 자신.. 2022. 6. 23. [ELK] 1. Elastic Stack 필자는 파이썬(python, numpy, pandas, matplotlib, plotly)을 활용한 데이터 전처리, 피처 엔지니어링, 모델링을 진행한 경험이 다수 있지만, 서비스 단계에서 사용하는 데이터 파이프라인은 경험해보지 못했다. 그리고 최근 사용자 로그 데이터에 호기심이 생겨서 그 처리에 대한 고민도 있었다. 그래서, 데이터 파이프라인을 경험하기 위해서 여러 가지 프레임워크 중 ELK Stack을 사용하기로 결정했다. 가이드라인은 elastic 공식문서와 elastic Senior Developer Advocate인 김종민 님의 유튜브 영상을 참고할 것이다. https://www.youtube.com/watch?v=Ks0P49B4OsA&list=PLhFRZgJc2afp0gaUnQf68kJHPXLG.. 2022. 6. 21. 이전 1 2 다음