분류 전체보기 (62) 썸네일형 리스트형 ElasticSearch index 설정 쿼리 exists 쿼리 필드에 대해 인덱싱된 값이 포함된 문서를 반환합니다. 유사 항목 쿼리(Fuzzy query) 검색어와 유사한 Term가 포함된 문서를 반환합니다. Elasticsearch 측정값 Levenshtein 편집 거리를사용하는 유사성 또는 흐릿함. IDS 쿼리 index ID를 기준으로 문서를 반환합니다. 접두사 쿼리(prefix query) 제공된 필드에 특정 접두어가 포함된 문서를 반환합니다. 범위 쿼리(range query) 제공된 범위 내의 term이 포함된 문서를 반환합니다. 정규 표현식 쿼리(regexp query) 정규식과 일치하는 term이 포함된 문서를 반환합니다. term 쿼리(term query) 제공된 필드에 정확한 term이 포함된 문서를 반환합니다. terms_s.. Kafka Kafka는 실시간으로 기록 스트림을 게시, 구독, 저장 및 처리할 수 있는 분산형 데이터 스트리밍 플랫폼입니다. 여러 소스에서 데이터 스트림을 처리하고 여러 사용자에게 전달하도록 설계되었습니다. Kafka는 복잡한 라우팅에 의존하지 않고 최대 처리량으로 스트리밍하는 데 가장 적합합니다. 이벤트 소싱, 스트림 처리 및 일련의 이벤트로 시스템에 대한 모델링 변경을 수행하는 데 이상적입니다. Kafka는 다단계 파이프라인에서 데이터를 처리하는 데도 적합합니다. kafka 키워드 요약 : 실시간 처리, 분산 이벤트 스트리밍 플랫폼, 고성능 강조 Kafka의 장점 Pub/Sub 모델 : Publishe/Subscriber 모델은 데이터 큐를 중간에 두고 서로 간 독립적으로 데이터를 생산하고 소비하는 모델. 이런.. ElasticSearch Elasticsearch는 시간이 갈수록 증가하는 문제를 처리하는 분산형 RESTful 검색 및 분석 엔진입니다. Elastic Stack의 핵심 제품인 Elasticsearch는 데이터를 중앙에 저장하여 손쉽게 확장되는 광속에 가까운 빠른 검색, 정교하게 조정된 정확도, 강력한 분석을 제공합니다. RDBMS와 Elasticsearch와의 차이 RDBMS => 데이터베이스 => 표 => 열/행 Elasticsearch => 클러스터 => 인덱스 => 샤드 => 키-값 쌍이 있는 문서 Elasticsearch 이점 신속한 가치 실현 Elasticsearch는 간단한 REST 기반 API, 간단한 HTTP 인터페이스를 제공하고 스키마 없는 JSON 문서를 사용해 다양한 사용 사례에서 쉽게 시작하고 빠르게 애.. [TIL] 2023-10-23 오늘은 FileZilla를 활용해서 기존에 로컬에서 쓰던 Elasticsearch 데이터를 EC2의 Elasticsearch에서 활용할 수 있도록 데이터를 이관하는 작업을 진행했다. 처음에 접근할 권한이 없다고 나와서 chmod - R 777 /var/lib/elastcsearch 명령어를 활용해 해당 폴더에 접근할 수 있도록 권한을 부여하였고, FileZilla를 이용해 로컬의 data폴더를 이동했다. 그러나 테스트를 진행하자 원래 블랙티를 검색하면 1000개의 검색결과가 나와야 하는데 2001개가 나와서 원인을 찾던 도중 로컬에서도 2001개로 데이터가 잘못 삽입된 것을 알게 되었다. 아마 schedule을 돌면서 중복데이터는 삽입이 되지 말아야 하는데 중복 데이터의 여부를 정해주지 않아서 모든 데이.. [TIL] 2023-10-21 오늘은 어노테이션이나 Product를 JPA에 연동시키지 않고 따로 썼을 경우 효율이 달라지는지 체크하기 위해서 별도의 Repository를 만들어서 여러 가지 변화를 주면서 Elasticsearch 효율의 증가를 고려했다. 모든 테스트는 1000명의 부하를 줄 때로 가정하고 진행했다. 기존) 평균 약 240ms Case 1) 일단 새 Repository를 파서 JPA와 연결을 끊은 경우 평균 약 240ms - 변화 없음 Case 2) 생성을 위해 달아둔 @GeneratedValue(strategy = GenerationType.IDENTITY) 주석처리 평균 약 240ms - 변화 없음 Case 3) Page로 변환 Stream -> Page 평균 7ms 매우 빠른 검색 속도를 확인할 수 있었다 뿐만 .. [TIL] 2023-10-20 오늘은 어제 logstash를 활용해서 sql 데이터를 elasticsearch에서 사용할 수 있도록 변환하고, 해당 데이터를 다루는 작업을 진행했다. Mapping이 되지 않는 문제는 @Field(name = "product_id") @org.springframework.data.annotation.Id 어노테이션을 활용해 해당 id가 product_id임을, Id임을 인식하게 했고, 검색을 진행할 때 효율이 어느 정도 나오는지 측정해 봤는데 100명 이 접근할 경우 약 190ms ~ 350ms 정도의 접근 시간이 나왔다. 1000명 정도 접근을 해도 elasticsearch의 효율은 낮아지지 않는 것을 확인했다. 다만 불러온 해당 데이터를 원하는 DTO로 가공하는 시간이 그보다 오래 걸려 병목현상이 .. [TIL] 2023-10-19 오늘은 어제 구축한 ELK를 기반으로 .conf 파일을 통해 mysql에 있는 정보를 elasticsearch로 logstash를 통해 옮기는 작업을 진행했다. input { jdbc { jdbc_driver_library => "D:\ELK Stack\logstash-8.10.4\lib\mysql-connector-j-8.1.0/mysql-connector-j-8.1.0.jar" jdbc_driver_class => "cohttp://m.mysql.jdbc.Driver" jdbc_connection_string => "jdbc:mysql://localhost:3306/study" jdbc_user => "root" jdbc_password => "1234" schedule => "* * * * *" s.. [TIL]2023-10-18 오늘은 어제 공부한 Elastic Search에 대한 이해를 기반으로 ELK Stack(ElasticSearch, Kibana, Logstash) 환경을 현재 사용중인 로컬 PC에 구축을 진행했다. [ElasticSearch 공부하기] 1화 엘라스틱 서치 설치하기 - 윈도우 : 네이버 블로그 (naver.com) [ElasticSearch 공부하기] 1화 엘라스틱 서치 설치하기 - 윈도우 0. ElasticSearch? 검색엔진이 생소하신 분들은 ElasticSearch? 이게 뭐지 하실 수 있습니다. 그러나, ... blog.naver.com 기본적으로는 이 분의 블로그를 참고해서 진행하였다. 위의 블로그를 참고해 구축을 진행했지만, 몇 가지 버전에 차이점이 있어서 해당 차이점을 다른 곳에서 찾아서 하.. 이전 1 2 3 4 ··· 8 다음