Skip to content

[NO-ISSUE] 레시피 Elasticsearch 인덱스 분리 (개발,테스트/운영 환경별)#377

Open
yeonju52 wants to merge 1 commit into
release/NPG-1.15.0from
NO-ISSUE-Recipe-Es-Index-per-Env
Open

[NO-ISSUE] 레시피 Elasticsearch 인덱스 분리 (개발,테스트/운영 환경별)#377
yeonju52 wants to merge 1 commit into
release/NPG-1.15.0from
NO-ISSUE-Recipe-Es-Index-per-Env

Conversation

@yeonju52
Copy link
Copy Markdown
Contributor

@yeonju52 yeonju52 commented Feb 13, 2025

개요

ElasticSearch 인덱스 (개발,테스트/운영) 분리

  • 기존 문제점: ElasticSearch에서 recipes라는 하나의 인덱스를 사용하고 있었음

  • 변경 사항: application.yml을 통해 동적으로 인덱스를 설정하도록 변경

    • 개발 환경: recipe_dev 인덱스
    • 운영 환경: recipe_prod 인덱스
    • 테스트 환경: recipe_dev와 동일한 인덱스 사용 (분리 여부 논의 필요)

전달사항

  • recipe 인덱스 생성 명령어: Confluence의 ElasticSearch recipe 인덱스 생성 명령어에 정리되어 있음 (이미 인덱스가 생성되어 추가 작업은 필요 없음.)

  • ElasticSearch 관련 전달 사항:

    • PR Merge 후, 기존의 recipes 인덱스를 삭제한 후,
    • POST https://nangpago.site/api/recipe/bulk-upload/mysql를 실행하면, 현재 운영 MySQL DB 기준으로 데이터가 업데이트될 것임

PR 유형

  • 새로운 기능 추가
  • 버그 수정
  • CSS 등 사용자 UI 디자인 변경
  • 코드에 영향을 주지 않는 변경사항(오타 수정, 탭 사이즈 변경, 변수명 변경)
  • 코드 리팩토링
  • 주석 추가 및 수정
  • 문서 수정
  • 테스트 추가, 테스트 리팩토링
  • 빌드 부분 혹은 패키지 매니저 수정
  • 파일 혹은 폴더명 수정
  • 파일 혹은 폴더 삭제

PR Checklist

  • PR 제목을 컨벤션에 맞게 작성했습니다.
  • 변경 사항에 대한 테스트를 했습니다.(버그 수정/기능에 대한 테스트).

@yeonju52 yeonju52 added the enhancement New feature or request label Feb 13, 2025
@yeonju52 yeonju52 added this to the NPG-1.15.0 milestone Feb 13, 2025
@yeonju52 yeonju52 changed the title [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발/운영 환경별로 분리 [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발.테스트/운영 환경별로 분리 Feb 13, 2025
@yeonju52 yeonju52 changed the title [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발.테스트/운영 환경별로 분리 [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발, 테스트/운영 환경별로 분리 Feb 13, 2025
@yeonju52 yeonju52 changed the title [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발, 테스트/운영 환경별로 분리 [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발,테스트/운영 환경별로 분리 Feb 13, 2025
@yeonju52 yeonju52 changed the title [NO-ISSUE] 레시피 Elasticsearch 인덱스 개발,테스트/운영 환경별로 분리 [NO-ISSUE] 레시피 Elasticsearch 인덱스 분리 (개발,테스트/운영 환경별) Feb 13, 2025
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이렇게 사용하면 Elasticsearch 의 모든 인덱스명을 application.yml 에 작성해줘야 하는 불편함이 생길 것 같아요. 현재 작성해주신 코드 기준으로도, ingredients_dictionary 인덱스는 개발과 운영을 분리할 수 없는 상태네요.

현재 동작중인 profile 값을 런타임 환경에서 가져올 수 있는 방법이 있을 것 같은데, 그걸 활용해보면 좋을 것 같아요.
예를 들면, 현재 세팅을 기준으로 각자 로컬에서 서버를 실행할때는 profile이 local 로 실행되고, 운영에서는 prod 로 실행되는 중이니, ES index명 앞(또는 뒤)에 profile 값을 붙여서 처리하도록 하면 될 것 같아요.

@zooxop zooxop added refactoring and removed enhancement New feature or request labels Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants