# Nori

9개의 포스트
post-thumbnail

Elk Toy Project 국민청원 데이터 분석

# 1 청와대 데이터 다운로드 깃헙에서 데이터 다운로드 https://github.com/lovit/petitions_archive 다운 받으면 cmd로 해당 폴더 경로내에서 window - ren petitions_201* *.json linux -ls petitions_201* | xargs -i mv {} {}.json 명령어를 통해 파일명 끝에 .json 을 붙여주자 # 2 데이터 수동 업로드 받은 파일의 데이터의 확장자를 모두 .json 으로 변경 그리고 표시된 부분에 들어간다. 그리고 이곳에 파일을 드래그 해서 import 하고 index를 지정해주기만 하면된다. ![](https://velog.velcdn.com/i

2023년 6월 28일
·
0개의 댓글
·
post-thumbnail

nori 한국어 형태소 분석기

한국어 형태소 분석기 노리(nori) https://www.notion.so/gasbugs/e6d8283ea2ed47458adf42ddf457e89b 참고자료 https://www.elastic.co/guide/en/elasticsearch/plugins/6.4 https://coding-start.tistory.com/167 https://wedul.site/517 https://www.elastic.co/kr/blog/nori-the-official-elasticsearch-plugin-for-korean-language-analysis 1 한국어 형태소 분석기 노리 1.1 한글 형태소 분석기 노리(놀이)의 탄생 엘라스틱서치는 모두 한글에는 성능을 발휘하기 쉽지 않은 검색엔진 한글은 다른 언어와 달리 조사나 어미

2023년 6월 28일
·
0개의 댓글
·

mysql과 elasticsearch 실시간 데이터 연동 + 노리까지!

지난번에 mysql을 연동해보았다! 이어서 mysql의 데이터가 변경 될 때마다 logstash가 watch하여 데이터를 가져와보려고 한다! 1. *.conf 파일 수정 아래의 1-1과 1-2중 하나로만 수행하면 된다 1-0. *.conf 파일 내용 1-1. 터미널에서 수정하는 방법 1-2. 파일을 열어 직접 수정하는 방법 > 파일 수정이 안 된다면? 파일을 열었는데 읽기 전용이라면? 2. 한글 검색을 위한 nori 설치 3. index에 analyzer 추가해서 생성하기 3-1. 새로운 index 만들기 3-2. index의 settings 설정을 위해 index close 3-3. settings 설정 3-4. index open 3-5. mappings 설정 기존의 mapping 정보 복사 검색하고 싶은 곳에 원하는 nori로 an

2023년 4월 28일
·
0개의 댓글
·
post-thumbnail

[삽질기록] 성능개선을 하고 싶어 2 (엘라스틱 서치와 LogStash)

팀 프로젝트 기간 종료 후에도 학습을 위해 성능 개선을 진행하면서 엘라스틱 서치 자연어 검색을 도입한 과정을 짤막하게 남깁니다. 시간이 좀 지나 놓친 부분이 있을 수 있어 계속 업데이트 할 예정입니다. 혹시나 틀린 부분이 있다면 알려주시면 감사하겠습니다🙇🏻‍♀️ 엘라스틱 서치란 100만은 큰 데이터도 아닌 요즘 시대에 빠른 검색 성능을 제공해야하는 건 필수적이다. (첫 성능 테스트 시에 응답까지 5초가 걸린 것을 보면 끔-찍 하다. 참고 : 지난 포스트 - 성능 개선을 하고 싶었는데 말이죠) 일반적인 RDB 검색 속도는 O(N)인데 엘라스틱 서치의 경우 해시 테이블 구조의 역색인 방식으로

2022년 12월 18일
·
2개의 댓글
·
post-thumbnail

elasticsearch 7.15 쉬운 설치

개요 개인적으로 경력 때문인지 db 사용보다 elasticsearch가 편하다. 그런데 문제는 꽤나 자주 새 환경을 구성하는데, 한글 분석을 위한 nori analyzer, 시각화를 위한 kibana를 함께 설치하는 과정이 무척 귀찮다. 때로는 설치 잘못해서 꼬이기도 하고... 그래서 docker 에 nori analyzer를 포함한 elasticsearch 7.15.0 을 올려두고 kibana 까지 docker-compose 파일로 만들어두었다. 간단하게 pull 받아서 사용하면 된다. 아쉽게도 아직 다른 버전은 만들어두지 않았다. 내가 쓰던 버전만 쓰다 보니까... 그래도 언젠가 필요성을 느끼게 되면 새로 제작할 예정이다. > 설명은 내가 자주 쓰는 우분투 기준으로 서술하나, 어차피 핵심은 docker-compose.yml 파일이니 이것만 가져가서 사용하면 된다. 설치 방법 도커 설치 도커 설치는 이미 공식 사이트에 너무 잘 설명되어 있어 굳이

2022년 11월 13일
·
0개의 댓글
·
post-thumbnail

Elasticsearch nori 한글 형태소 분석기

Elasticsearch 공식 페이지 : 6.7.2 노리 (nori) 한글 형태소 분석기 nori Elasticsearch 6.6 버전부터 공식 지원하는 한글 형태소 분석기 mecab-ko-dic 사전 사용 설치 인덱스 정의 예시 rooms 도큐먼트 검색 api nori_tokenizer 사전 정보를 이용해 형태소를 분리 user_dictionary 옵션 > 사용자 사전이 저장된 파일 경로 입력 > 사전 내용 변경시 close / open 하여 인덱스에 변경사항 반영 userdictionaryrules > 사용자 정의 사전을 배열 형태로 입력 decompound_mode > 합성어 저장 방식 결정 > none : 완성된 합성어만 저장 > discard (d

2021년 11월 8일
·
0개의 댓글
·

[TIL]형태소 분석기 사용자 사전 사용하기

사용자 사전 사용자 사전의 단어(word)는 크게 단일어와 복합어로 구성된다12(여기서 융합 합성어는 복합어가 아닌 단일어로 취급한다). 위와 같이 단일어는 홀로 명시하고 복합어는 원형어 다음에 형태소(낱말)들을 띄어쓰기와 함께 나열한다.1 사용자 사전을 정의할 때 주의할 점이 있다. 단일어와 복합어의 구분을 명확히하고, 동일한 복합어의 형태소 구성의 일관성을 유지해야 한다13. 개념을 어떻게 바라보느냐에 따라 단일어가 복합어가 되고, 복합어가 단일어가 될 수 있기에 일관된 기준이 중요하다. 예를 들어, ‘바늘’과 ‘방석’이 원형인 ‘바늘방석’의 의미를 보존하지 못하므로 단일어로 취급한다. ‘인공’과 ‘지능’은 원형인 ‘인공지능’의 의미를 보존하므로 복합어가 된다. 단, 이러한 기준은 코퍼스의 크기와 도메인에 따라 달라질 수 있다. 코퍼스의 크기가 작으면 sparsity 문제를 최소화하기 위해서 단일어의 비중이 높아질 수 있다.

2021년 10월 3일
·
0개의 댓글
·
post-thumbnail

elasticsearch index 생성 삭제 수정, 노리 토큰 설정

elasticsearch@7.12의 index 생성에 대해 curl로 간단히 정리해보자. 이 때 노리 형태소 분석기와 토큰을 설정해줄 것이다. 1. index 생성, 삭제 방법 1-1. BY CURL 새로운 인덱스를 생성하는 방법이다. 인덱스에는 기본적으로 settings, mappings, alias가 있을 수 있는데, 이번테스트에는 settings 속성만 작성해보자. settings 속성은 test_setting.json에 미리작성하고 해당 json파일은 index 생성 명령하는 곳에 위치하자. 1-2. BY KIBANA 2. index document에 CRUD하기 elasticsearch 단일 document별로 고유한 url을 갖는다. 구조는 아래의 형식이다. http://://_doc/ 2-1. CREATE 첫번째 데이터를 생성해보자. 2-2. READ 1번

2021년 5월 25일
·
0개의 댓글
·
post-thumbnail

ElasticSearch Nori 형태소 분석기 사용해보기

토이 프로젝트를 진행하면서 ElasticSearch에 대해 공부를 시작했습니다. 토이 프로젝트를 진행하면서 검색엔진에 대한 필요성을 느꼈고 형태소 분석을 통한 검색을 하깅 위해 nori라는 플러그인을 사용해야한다고 하여 이렇게 포스팅을 남기게 되었습니다. 저는 elasticsearch-7.9.1 을사용하였으며 window에서 진행하였습니다. 먼저 다음과 같이 명령어를 입력하여 analysis-nori 플러그인을 설치합니다 설치가 완료되었다면 실행중인 ElasticSearch 서비스를 재시작 해줍니다. 여기까지 되었다면 nori 형태소 분석기 플러그인의 설치는 끝났습니다. 그렇다면 Standard Tokenizer와 Nori Tokenizer가 어떠한 차이가 있는지 tokenizer를

2021년 2월 28일
·
0개의 댓글
·