728x90
반응형
SMALL

elasticsearch 13

[Elasticsearch] 완전 무료 한국어 검색엔진 도입기 (Ollama + nomic-embed-text, 768차원 하이브리드 검색)

왜 Elasticsearch였는가기존 검색은 PostgreSQL의 ILIKE '%keyword%' 방식으로 동작했습니다. "백엔드 개발자"를 검색하면 해당 문자열이 그대로 포함된 데이터만 조회됩니다. "백엔드"와 "개발자"가 따로 포함된 데이터, 또는 "개발"이라는 어근을 공유하는 표현은 놓치게 됩니다.한국어 형태소 분석과 BM25 랭킹을 통해 관련도 기반 결과를 제공하고, 나아가 Ollama의 nomic-embed-text 모델로 임베딩을 생성해 키워드가 달라도 의미가 가까운 데이터를 찾는 시맨틱 검색까지 붙이는 것이 목표였습니다. ES관련 자세한 내용은 아래 공식링크를 참고하시면 됩니다.https://www.elastic.co/guide/kr/elasticsearch/reference/5.4/gett..

IT/Elasticsearch 2026.07.05

[Elasticsearch] ELK 쿼리로 API 호출 건수 집계해보기 (+date_histogram, calendar_interval)

[Elasticsearch] ELK쿼리로 API 호출 건수 집계해보기 (+Kibana Dev tools aggs field) WhyAPI 호출 추이를 Whatap 필터링으로도 확인 가능하나,특정 조건을 걸거나, 집계를 하고싶어서ELK 쿼리로 직접 작성해보았다.https://www.whatap.io/ SaaS 모니터링 No.1 와탭 모니터링 | 와탭 | WhaTap와탭으로 IT 서비스를 완성하세요. 클라우드 최적화. 15일간 무료 사용. 쉽고 빠른 설치. 특허로 인정받은 분석력. 통합 모니터링. 실시간 모니터링. 마이크로 아키텍처. 유연하고 안정적인 확장whatap.io 내가 원했던 쿼리는1. 메뉴 검색 API 관련, 호출 건수 집계2. 시나리오 구분 2.1 검색바에서 En..

IT/Elasticsearch 2024.10.17

[Elasticsearch] ELK Query Count Filter (aggs Field)

[Elasticsearch] ELK Query Count Filter (aggs Field)  특정 키워드, 기간, 개수 필터링을 해야하는 경우에 참고하세요.  전반적인 설명buckets 의 key 값 별로 Group by 해서 (aggs필드)특정 기간과 키워드를 조건으로 검색해서doc_count 값이 특정 최소값 이상인 경우     예시 설명인덱스 : temp_index검색 키워드 : JDBC Error필터링 기간 : 어제~오늘개수 : 10개 이상GET temp_index/_search{ "query": { "match": { "log.message": "JDBC Error" } }, "size": 0, "aggs": { "my_range_filter": { "..

IT/Elasticsearch 2024.07.31

[Elasticsearch] 쿠버네티스 워커노드 CPU 100% 장애 복기

끊임없이 기록하고 배우고 즐기고 몰입하고 성장하자       바야흐로 2024년 7월 경,Elasticsearch 기반의 모든 서비스가 멈출 뻔 했다.어떤 이슈였을까?       일단 생김새부터 살펴보자. (큰 범위부터)- 클러스터 안에 여러개의 노드 존재- 노드 안에 여러개의 파드 존재- 파드 안에 서비스가 띄워져 있음 (서비스별 파드) "일꾼" 이라 할수있는 서비스별 파드들이  => "사업장" 이라 할수있는 워커노드에 들어가서 일을 함 하나의 사업장엔 보통 20명정도의 일꾼이 일하는 중       그러던 어느날 사업장 하나가 멈춰버렸다.워커노드 CPU 가 100% 까지 차오른 것.          간략하게 4개의 워커노드(사업장)이 있다고 치자.워커노드1 : Pod A, Pod B, Pod C워커노드..

IT/Elasticsearch 2024.07.24

[Elasticsearch] Elastic Contributor Program 이란?

Elastic Contributor Program 이란?​Elasticsearch를 사용하다보면 관련 글을 쓰거나, 원문 번역을 하거나 행사에서 발표를 하는 등의 다양한 개발 내/외적으로 참여하는 기회를 자주 접할 수 있습니다.​물론 본인이 좋아서 이러한 활동들을 하면 좋지만, 여기에 더 동기부여가 될 수 있도록 Elastic 커뮤니티 팀에서 Elastic Contributor Program을 진행합니다.​Elastic Contributor Program은 Elastic에 관련된 행사 개최, 발표, 게시물 작성, 영상 제작, 번역, 코드 기여 등과 같은 활등을 했을 시 유저에게 포인트를 지급해주고 추후 리워드를 제공하는 기여활동 장려 프로그램입니다.​​Elastic Contributor Program 소..

IT/Elasticsearch 2024.07.10

[Elasticsearch] ILM - Cluster 성능 개선

[Elasticsearch] ILM - Cluster 성능 개선  인덱스 수명 주기(Index Lifecycle Management, ILM)데이터의 수명 주기를 관리하고 정의하는 기능이를 사용하면 데이터를 적절한 시점에 생성, 업데이트, 삭제하고, 디스크 공간을 효과적으로 활용이 가능주로 로그 데이터와 같이 시간이 지남에 따라 더 이상 필요하지 않는 데이터를 자동으로 삭제하는 데 사용     인덱스 수명 주기 구성Hot Phase (핫 페이즈): 데이터가 활발하게 쓰이는 단계로, 최근 데이터를 저장하는데 사용Warm Phase (웜 페이즈): Hot Phase에서 더 이상 업데이트되지 않은 데이터를 따로 보관하는 단계,이 단계에서는 검색 성능을 향상시키기 위해 인덱스를 최적화 할 수 있다Cold Pha..

IT/Elasticsearch 2024.07.10

[Elasticsearch] 백엔드 장애 감지 알림 시스템 구축 (ELK 기반 준실시간 서버 로그 모니터링)

[Elasticsearch] 백엔드 장애 감지 알림 시스템 구축 (ELK 기반 준실시간 서버 로그 모니터링)  Mission.비즈니스 로직상 오류나 장애가 발생하면,어떻게 신속 정확히 인지할 수 있을까? 정답 : Elasticsearch 로 기능 만들어서 알림 보내자 !      AS - IS1. RDBS에서 SQL 기반으로 데이터 정합성 체크 후 알림     ex) 결제정보 저장 테이블의 카드사 코드 컬럼 데이터 누락SELECT ORDER_NOFROM CARD_INFOWHERE GARD_GBCD IS NULL            2. 비즈니스 로직 자체에 분기된 예외처리 체크 후 알림     ex) 임의의 오류코드에 대한 분기처리에 알림기능 직접 구현 ..

IT/Elasticsearch 2024.07.06

[Elasticsearch] 회사 내부 첨부파일의 내용을 통합 검색할 수 있다면? (feat. Fasoo DRM, Tika, Confluence)

※ 사내 기밀은 담지 않도록 ※[Elasticsearch] 회사 내부 첨부파일의 내용을 통합 검색할 수 있다면? (feat. Fasoo DRM, Tika, Confluence) 구글링할 수 없는 내부 문서중에서 어떤거 하나 찾으려면일일이 열어보고~ ~ 스크롤을 돌려가며~~ 눈을 부릅뜨고 찾는다..? 시력 베린다.. 개별 파일을 직접 열어보지 않고도내부 문서의 위치와 내용을 효율적으로 파악하자~~~~~~~~~ 회사 내부에서 업로드된 다양한 첨부파일(pdf, csv, xlsx 등)에 포함된계약서, 매뉴얼, 업무 프로세스 등의 내용을 효율적으로 검색하기 위해Elasticsearch를 활용하자. 추가적으로 Fasoo DRM 복호화와 Tika 라이브러리를 사용하여 첨부파일 속 컨텐츠를 추출했다..

IT/Elasticsearch 2024.07.05

[Elasticsearch] 벡터서치 구현시 텍스트 데이터 벡터화 방법 고민

[Elasticsearch] 벡터서치 구현시 텍스트 데이터 벡터화 방법 고민      JAVA vs ELK문자열 벡터화 처리를 어디서 하면 좋을까?    1. 애초에 JAVA에서 벡터화해서 던지기원본 문자열을 자바딴에서 미리 벡터화해서vector 필드로 인덱스에 저장하고바로 벡터서치에 사용하는 경우 VS 2. ELK에서 벡터화하기원본 문자열을 자바딴에서 그대로 넘겨서text 필드로 인덱스에 일단 저장하고ELK에서 제공하는 벡터화 기능을 통해벡터서치에 사용하는 경우       2번은 사전에 학습된 머신러닝 모델을...복잡하다 복잡해...양쪽다 구현해보진 않았지만 1번이 나은 방법같다       과연 chatGPT는 뭐라고 했을까?  Java에서 텍스트 데이터를 벡터화하여 인덱스에 벡터 필드로 저장하는 경우..

IT/Elasticsearch 2024.07.03
728x90
반응형
LIST