Elasticsearch failed to build synonyms 이슈

ES를 통해서 Nori로 형태소분석을 진행하여 NNP(고유명사), NNG(일반명사)를 제외한 모든 품사태그를 stoptags에 넣어 단어의 토큰을 빼오도록 하고 싶었다. 그런데 이때, 동의어를 확장해서 가지고 오려고 했을때 이슈케이스를 작성한다.PUT tempResul

2023년 4월 27일
·
0개의 댓글
·

Docker - Lima 외부에서 접근하도록 처리

Lima를 통한 docker 환경을 구성해서 잘 사용중이였다. 하지만 외부에서 내가 띄운 서비스를 접근해서 확인할 일이 생겼는데, 접근이 되질 않았다. (로컬호스트로는 잘 접근 가능)역시나 docker-desktop에서는 잘 접근이 되는것을 확인하고 이번에도 설정 문제

2023년 4월 13일
·
0개의 댓글
·

Java - jenv 설정

bash brew install jenv ad-info title: Work 2. Add path bash brew install --cask adoptopenjdk/openjdk/adoptopenjdk11 ls /Library/Java/JavaVirtualMachines # Check list ad-info title: Work 4. Add jenv ...

2023년 4월 12일
·
0개의 댓글
·

Java - SpringBatch

로깅/추적트랜잭션 관리작업 처리 통계작업 재시작건너뛰기리소스 관리배치처리 과정을 하나의 단위로 만들어 놓은 객체. 전체 계층 최상단Job의 실행단위. Job이 실행될 때, 하나의 JobInstance가 생성. 1:NString, Double, Long, Date의 4가

2023년 4월 12일
·
0개의 댓글
·

Lima - Nerdctl, Docker

lima를 통해서 ELK를 구동하는 방법에 대해 이전에 작성한적이 있다. Lima + Lazydocker로 ELK 구동하기해당 서비스를 잘 사용하고 있었는데, 이슈가 하나 발생하였다. "MySQL, MariaDB가 구동된 이후, Localhost:3306으로 연결이 되

2023년 4월 10일
·
0개의 댓글
·

Docker Centos7에서 MySQL 5.7 설치하기

Mac M1에서 MySQL 5.7 이미지는 platform 문제로 설치가 되질 않을때, 직접적으로 설치를 하기 위한 Flow를 제공한다. (단, 여기서는 config파일을 마운트 하지 않고, docker cp를 통해서 마운트 한다 )CMakeLists.txtmy.cnf

2023년 4월 8일
·
0개의 댓글
·

Elasticsearch Synonym 검색 이슈케이스

검색서비스를 운영 중에, 다음과 같은 시나리오 케이스가 존재 하였고 검색이 이루어지지 않는 이슈가 발생하였다. 그 이슈 시나리오는 다음과 같다. 푸켓의 동의어가 뿌켓으로 운영 중이다푸켓의 동의어로 푸켕을 추가하였다사전 배포와 재색인이 수행되었다푸켓이라는 단어로 검색이

2023년 4월 7일
·
0개의 댓글
·

Elasticsearch Ingest pipeline Log data

Elasticsearch plugin 형태로 ingest를 구성하게 되면, 운영중인 서비스를 계속 배포 및 재시작의 과정이 필요하다. 재배포의 과정을 없에기 위해 ES에서 제공하는 Script(Painless)를 직접 작성하여 처리하는 방안을 작성한다.Painless

2023년 4월 4일
·
0개의 댓글
·

Log Data pipeline 구성

기존에 로그데이터 색인을 배치를 통해 진행하고 있었다. 하지만 해당 방식은 실시간이 될 수 없었고(배치 시간을 아무리 쪼개도 결국 배치가 수행되어야만 색인이 되므로),배치로 ES에 색인을 하니, 추천 데이터를 바로바로 Refresh가 되지 않았다. 앱을 방문하는 사용자

2023년 3월 24일
·
0개의 댓글
·

[Kafka] Docker

카프카를 통한 데이터 파이프라인을 구축하기 위해, 로컬에 docker image로 먼저 카프카를 구축한다.zookeeper 3.8.1kafka 2.13-2.8.1 ( 앞자리는 스칼라 버전, 뒷자리는 카프카 버전 )kafka-uiKAFKA_BROKER_ID : broke

2023년 3월 9일
·
0개의 댓글
·

Elasticsearch rejected exception

원문 글현재 운영중에 발생한 적은 없지만, ES를 운영하면서 알아야하는 이슈이므로 따로 정리한다. 원문 글이 더욱 자세하고 좋게 글이 작성되어 있고, 실제 내부에서 테스트할 여건이 안되므로 이 블로그에는 간략하게만 작성하도록 한다.Thread Pool은 ES의 주요 기

2023년 3월 7일
·
0개의 댓글
·

Elasticsearch 분석 순서에 따른 차이

Elasticsearch에서 문장을 분석할 때, Token이 분리되는 시점에 따른 결과의 차이를 알아보자.해당 글은 자동완성 서비스를 구축하던 중에, Highlighting옵션이 원하는대로 표현되질 않아서 따로 예제를 정리한다.결론부터 말하자면, tokenizer에서

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

Elasticsearch Analyzer

자동완성 서비스를 구축하다가 이론적으로만 알고 있지만 실제로 발생한 이슈케이스에 대해 공유하고자 한다. Elasticsearch에서 analyzer를 설정할 때는, 다음과 같은 단계를 거치게 된다.실질적인 분석이 시작되기 전에 수행되어지는 전처리 단계로서, 특정 문자를

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

Elasticsearch _source field

\_source필드에는 색인 단계에서 전달된 원본 JSON 문서 본문이 포함되어 있다. \_source 필드 자체는 색인되지 않으므로 검색할 수는 없지만 get 또는 search와 같은 fetch요청을 실행할 때, 반환될 수 있도록 저장된다.검색 결과로 나온 원래의 J

2023년 2월 27일
·
0개의 댓글
·

Elasticsearch store field

기본적으로 필드 값은 검색 가능하도록 색인 되지만, 저장되지는 않는다.특정 상황에서는 필드를 저장하는 것이 합리적일 수 있다. 매우 큰 내용 필드를 가진 문서가 있는 경우, \_source 필드에서 원하는 필드를 추출하지 않고 store_field로 지정된 필드만 검색

2023년 2월 27일
·
0개의 댓글
·

Elasticsearch doc_values

역색인 구조를 사용하면 검색어를 고유한 정렬된 키워드 목록에서 검색할 수 있으며, 검색어를 목록에 즉시 접근할 수 있다.dov_values는 문서 색인 단계에서 작성된 디스크 상의 데이터 구조 이며, 이를 통해 데이터 접근 패턴을 사용할 수 있다. \_source와 동

2023년 2월 27일
·
0개의 댓글
·

Elasticsearch Nested 구조 검색 성능 향상

1:N관계인 Elaticsearch의 REST -> 메소드와 URL을 조합하여, 예측 가능하고 일정한 정보와 작업을 요청하는것=> 버튼마다 나오는것이 확실한 자판기처럼질의식이 들어왔을 때, 검색 속도가 오래 걸리는 이유는물리적 관계처럼 구성이 되어 있기 때문에, 부모의

2023년 2월 19일
·
0개의 댓글
·

[Python] 레벤슈타인 알고리즘

DP를 이용한 오타교정 알고리즘. 삽입, 변경, 삭제를 통해 두 문자열이 같아지는 최소한의 개수를 구한다.

2023년 1월 10일
·
0개의 댓글
·

정보 검색(Information Retrieval) 평가

다양한 형태로 원하는 내용과 관련있는 결과를 얻어내는 것을 정보 검색(Information Retrieval, 이하 IR)이라고 한다.IR의 정확도 및 효율을 분석하기 위한 평가기준을 알아본다.True Positives(tp) = 선택된 결과(positives)가 관련

2023년 1월 10일
·
0개의 댓글
·

Graphql 예제

자주 즐겨보는 유투버에게서 Graphql을 다루는 영상이 업로드 되었다. 예전에 한번 예제로 만들어보려고 하다가 업무와 Java에 적용하여 하기 어려워서 (라이픽의 특정 프로젝트에 적용하려고) 잠시 덮어준 기억이 있는데 예제가 잘나와있어서 정리한다.해당 예제는 생활코딩

2023년 1월 5일
·
0개의 댓글
·