TIL

    [TIL - 20240819] Elasticsearch8.x + Kibana, Docker-compose로 구성, Credential 설정

    💻문제점공식 사이트를 참고했다.1. Docker-Compost 파일 작성.envELASTIC_PASSWORD=elasticKIBANA_PASSWORD=kibana_systemSTACK_VERSION=8.7.1CLUSTER_NAME=docker-clusterLICENSE=basicES_PORT=9200KIBANA_PORT=5601 docker-compose.ymlversion: "3.8"volumes: certs: driver: local esdata01: driver: local kibanadata: driver: localnetworks: default: name: elastic external: falseservices: setup: image: docker..

    [TIL - 20240817] Spring Boot 3.x + Elasticsearch 8.x jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime`

    💻문제점 - LocalDateTime 직렬화/역직렬화Elasticsearch 검색을 수행하던 도중 오류가 발생했다.http://localhost:8080/api/v1/posts/suggest?keyword=통밀빵  com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 8 date/time type `java.time.LocalDateTime` not supported by default: add Module"com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling  LocalDateTime의 직렬화/역직렬화 문제가 발생했다.🔍해결 ElasticsearchCo..

    [TIL-20240813-17] Elasticsearch 자동 완성 (2)

    https://yeon-dev.tistory.com/254 [TIL - 20240810] ElasticSearch 자동 완성 (1)https://yeon-dev.tistory.com/253 [Spring] Spring Boot3.x Docker Compose로 ElasticSearch 8.x+Kibana 구성 (Local)프로젝트 루트 디렉토리에 docker-compose.yml을 생성한다. 1. Docker Compose 파일 작성docker-compose.ymlversion: '3.7'serviyeon-dev.tistory.com 💻문제점1 - 검색 결과 우선 순위PostMan으로 요청하면 응답이 다음과 같다.http://localhost:8080/api/v1/posts/suggest?keyword..

    [TIL - 20240810~12] ElasticSearch 자동 완성 (1)

    https://yeon-dev.tistory.com/253 [Spring] Spring Boot3.x Docker Compose로 ElasticSearch 8.x+Kibana 구성 (Local)프로젝트 루트 디렉토리에 docker-compose.yml을 생성한다. 1. Docker Compose 파일 작성docker-compose.ymlversion: '3.7'services: es: image: docker.elastic.co/elasticsearch/elasticsearch:8.7.1 container_name: es environment: - node.name=es-yeon-dev.tistory.com 커뮤니티 검색 시, 자동 완성 기능을 ElasticSearch로 구현하고자 한다.'통밀빵'이라는 ..

    [TIL-20240805] ElasticSearch + Spring Boot 연동 오류 해결

    💻문제점1: CreatedAt 필드 타입post-mappings.json{ "properties": { "id": { "type": "long" }, "title": { "type": "text", "analyzer": "korean" }, "content": { "type": "text", "analyzer": "korean" }, "createdAt": { "type": "date", "format": "yyyy-MM-dd'T'HH:mm:ss.SSSSSS||epoch_millis" }, "imageUrl": { "type": "text" }, "tags": { ..

    [TIL - 20240612] Swagger HTTPS 설정

    💻문제점Spring REST Docs와 Swagger UI를 연동했다. 로컬에서 정상 동작하는 것을 확인하고 개발 서버로 배포해서 테스트했으나, 다음과 같은 오류가 발생했다. 개발 서버 도메인은 https를 사용한다.하지만, Request URL을 보면 http를 사용하는 것을 볼 수 있다.🔍해결Swagger가 기본적으로 http로 요청을 보내기 때문에 발생한 문제다.SwaggerConfig에서 @OpenAPIDefinition 애노테이션의 servers 속성을 사용하여 API가 호스팅 되는 서버 목록을 정의해주었다. SwaggerConfigimport io.swagger.v3.oas.annotations.OpenAPIDefinition;import io.swagger.v3.oas.annotation..

    [TIL - 20240612] Swagger Failed to load remote configuration 해결

    💻문제점1 - Failed to load remote configuration application.yamlspringdoc: default-consumes-media-type: application/json default-produces-media-type: application/json swagger-ui: disable-swagger-default-url: true path: /api/v1/docs/swagger paths-to-match: - /** SecurityConfig @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { return ..