본문 바로가기

Backend

(10)
[spring, logback] 비동기식 로깅 - AsyncAppender - 1 Summary 비동기식 로깅에 대해 알아봅시다. spring boot에서 logback을 이용하여 비동기식 로깅하는 방법에 대해 알아봅시다. What is asynchronous logging synchronously file write 하면 file writing에 대한 딜레이가 발생하게 된다. file i/o는 인메모리 작업이 아니기 때문에 딜레이가 커진다. 비동기식 로깅은 '로그 발생'과 '로그 쓰기'를 분리시킨다. thread A는 로그가 발생하면 인메모리 큐에 집어넣기만 한다. thread B는 큐에서 데이터를 꺼내서 file write만 수행한다. logback에서 비동기식 로깅을 위한 방법을 지원해준다. What is logback looging의 기능을 제공하는 프로젝트 log4j에서 떨어..
[elasticsearch] doc2vec으로 korquad 데이터 유사도 분석하기 엘라스틱서치에서 cosine similarity를 이용하여 문장이 아닌 문단수준의 문서를 검색하는 것에 대해서 설명한다 서론 elasticsearch의 검색알고리즘은 기본적으로 BM25 알고리즘을 기본으로 지원한다. 이 알고리즘을 통해 스코어를 매기고 순서대로 적합한 데이터를 찾아준다. BM25 알아보기 7.3.0 버전부터는 cosine similarity 검색을 지원한다. 즉, 데이터로 고차원벡터를 집어넣고, 벡터형식의 데이터를 쿼리(검색어)로 하여 코사인 유사도를 측정하여 가장 유사한 데이터를 찾는다. 이러한 벡터 유사도 측정은 단순하게 검색어가 문서에 있나없나를 보는것이 아니라 검색어와 문서간의 유사성(의미, 맥락, 문맥, 시맨틱)을 중요하게 보는것이다. 구현 간략한 과정은 아래와 같다 정보사전으로..