본문 바로가기

공부121

Elasticsearch) Query DSL 검색 수많은 데이터에서 조건에 부합하는 데이터만 가져오는 행위 풀텍스트 쿼리 (Full Text Query) match_alll 별다른 조건없이 해당 인덱스의 모든 도큐먼트를 검색하는 쿼리. 검색 시 쿼리를 넣지 않으면 자동 match_all GET my_index/_search match 풀 텍스트 검색에 사용되는 가장 일반적인 쿼리 GET my_index/_search { "query": { "match": { "message": "dog" } } } 검색 결과의 default는 or 조건 GET my_index/_search { "query": { "match": { "message": "quick dog" } } } 이렇게 하면 quick or dog가 있는 모든 도큐먼트를 찾음. 검색 조건을 A.. 2023. 12. 8.
Elasticsearch) CRUD ES의 단일 데이터는 document index는 document의 논리적인 집합. 도큐먼트 접근 http://://_doc/ 데이터 입력(PUT) PUT 이용 PUT my_index/_doc/1 { "name":"Jongmin Kim", "message":"안녕하세요 Elasticsearch" } 이미 있는 인덱스에 아래와 같은 데이터를 PUT명령으로 넣게 되면 이전 document는 사라지고 덮어씌워짐. PUT my_index/_doc/1 { "age:":40 } 데이터 보기 GET my_index/_doc/1 데이터 삭제 DELETE my_index/_doc/1 //인덱스에 해당하는 data만 삭제됨. DELETE my_indx //인덱스 통째로 삭제 수정(POST) post명령으로 처음 데이터를 .. 2023. 12. 8.
Elasticsearch 활용) 인덱스 샤드 모니터링 https://esbook.kimjmin.net/03-cluster/3.2-index-and-shards 3.2 인덱스와 샤드 - Index & Shards - Elastic 가이드북 인덱스를 생성할 때 별도의 설정을 하지 않으면 7.0 버전부터는 디폴트로 1개의 샤드로 인덱스가 구성되며 6.x 이하 버전에서는 5개로 구성됩니다. 클러스터에 노드를 추가하게 되면 샤드들이 각 esbook.kimjmin.net document : Elasticsearch에 있는 낱개 데이터 index : document의 논리적인 집합 인덱스는 샤드라는 개념으로 분리되어 여러 개의 노드에 흩어져서 저장. 처음 생성된 샤드를 프라이머리 샤드(Primary Shard), 복제본은 리플리카(Replica) 같은 샤드와 복제본은 .. 2023. 12. 7.
Kibana Kibana란? ) 데이터의 형태를 만들고, Elastic Stack을 탐색할 수 있게 하는 시각화 및 관리 서비스. Kibana로 다음과 같은 작업들을 할 수 있다. 1. 검색, 관찰, 데이터 보호 kibana는 document 검색에서 log분석, 보안 취약성 찾기와 같은 기능에 access 할 수 있는 portal이다. 2. 데이터 분석 숨은 insight를 찾고 차트, 그래프 등에 발견한 내용을 시각화 한 뒤 대시보드를 구성한다. 3. Elastic Stack 관리, 모니터링 보안 data를 관리하고, Elastic Stack cluster상태를 모니터링하고, 어떤 사용자가 어떤 기능에 access할 수 있는지 제어한다. kibana를 elastic-3 노드에 실행하고 키바나와 elasticsea.. 2023. 12. 7.
Elastic Search 설치 및 환경설정 Elastic Search란 ? ) 오픈소스 검색엔진. 키워드가 어떤 document에 있다고 저장하는 방식. GCP에 SSH 키 등록하는 방법 https://blog.wsgvet.com/google-cloud-platform-ssh-key-putty-connection/ 구글 클라우드 플랫폼에서 SSH키 생성 후 PuTTY 접속하기 구글 클라우드 플랫폼에서 SSH로 접속할 때, 기본적으로 제공하는 브라우저 접속은 로그인이 필요하고, 반응… blog.wsgvet.com 에러발생 ES 설치 후 또 다른 putty 터미널 창에서 curl -XGET localhost:9200으로 접속 시 curl: (52) Empty reply from server 에러 접속 할 때 HTTP를 사용해서 발생하는 에러. con.. 2023. 12. 7.
JPA 영속성 컨텍스트 * 영속성 컨텍스트란 ? 엔티티를 영구 저장하는 환경. 애플리케이션과 데이터베이스 사이에서 객체를 보관하는 가상의 데이터베이스 역할을 함. 엔티티 매니저를 통해 엔티티를 저장하거나 조회하면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. em.persist(member); // 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장한다는 의미. - 영속성 컨텍스트의 특징 1. 엔티티 매니저를 생성할 때 하나 만들어진다. 2. 엔티티 매니저를 통해서 영속성 컨텍스트에 접근하고 관리할 수 있다. 엔티티의 생명주기 비영속(new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 상태 영속(managed) : 영속성 컨텍스트에 저장된 상태 준영속(detached) : 영속성 컨텍스트.. 2023. 11. 30.
시간을 인자로 받을 때 [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: raw timestamp (2023) not allowed for `java.time.LocalDateTime`: n.. 클라이언트로부터 예약시간을 받을 ReserveDTO를 만들었다. package com.soni.reservation.dto; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.*; import org.springframework.data.annotation.CreatedDate; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import java.time.LocalDateTime; @Getter @Setter @Builder @AllArgsConstructor @NoArgsConstruc.. 2023. 10. 25.
UserDetailService 2개 구현 시 발생하는 에러 처리 관리자 회원가입을 위해 UserDetailSevice를 상속한 ManageService와 UserDetails를 상속한 Manager엔티티를 구현했다. 그리고 일반회원 회원가입을 위해 똑같이 MemberService와 Member를 구현했는데 엄청 긴 에러 중에 이런 것이 있었다. factory method 'authenticationmanagerbean' threw exception 왜 이럴까 아니면 그냥 따로 서비스 파일을 만들지 않고 한 번에 몰아서 해야하나 고민을 하다가 UserDetailService가 두 개 일 때 발생하는 에러에 대해서 찾아보았다. 그리고 해결책을 찾았다. ➡️원인 UserDetailService를 두 개 구현할 경우 securityConfig에도 각각의 서비스를 등록해줘야한.. 2023. 10. 25.
빈 순환참조 문제 The dependencies of some of the beans in the application context form a cycle: 회원가입, 로그인 인증 구현 후 프로젝트 실행시켰더니 오류가 발생했다. *************************** APPLICATION FAILED TO START *************************** Description: The dependencies of some of the beans in the application context form a cycle: jwtAuthenticationFilter defined in file [C:\spring_prac\Mission\reservation\out\production\classes\com\soni\reservation\security\JwtAuthenticationFilter.class] ┌─────┐ | tokenProvide.. 2023. 10. 21.
728x90