Skip to content

[BE | 검색] ElastiSearch 기반 뉴스 및 기업 통합 검색 API 구현 #24

@slay1379

Description

@slay1379

✅ 이슈 제목

  • [BE | 검색] ElastiSearch 기반 뉴스 및 기업 통합 검색 API 구현

📌 이슈 유형

  • 기능 추가
  • 버그 수정
  • 리팩토링
  • UI 작업
  • 문서 작성
  • 기타

🛠️ 작업 내용

  • Elasticsearch 도입: 기존 MySQL 기반 조회 한계를 극복하기 위해 검색 엔진(Elasticsearch)을 도입하고, 한글 형태소 분석기(nori)를 적용했습니다.
  • 데이터 동기화 로직 구현: MySQL에 저장된 뉴스 및 기업 데이터를 Elasticsearch 인덱스(news_index, company_index)로 적재하는 전체 동기화(Full Sync) 기능을 구현했습니다.
  • 통합 검색 API 개발: 키워드 하나로 뉴스(제목/본문/기업명)와 기업(이름/코드)을 동시에 검색하여 결과를 반환하는 통합 검색 API를 개발했습니다.

📍 Todo (선택)

  • Document 생성: NewsDocument, CompanyDocument (ES 인덱스 매핑)
  • Repository 구현: NewsSearchRepository, CompanySearchRepository (쿼리 메서드 정의)
  • Service 로직 구현:
    NewsSyncService: 기업명 매핑 로직 포함한 데이터 적재 기능
    NewsSearchService: 통합 검색 및 기업별 뉴스 필터링 기능
  • Controller 구현
  • DTO: SearchResponseDto 생성
  • Infra: docker-compose.yml에 Elasticsearch(7.17.10) 및 Kibana 설정 추가

📎 참고사항 (선택)

  • 관련 커밋 / 문서 / 디자인 등 링크가 있다면 남겨주세요.

Metadata

Metadata

Assignees

Labels

good first issueGood for newcomers🚨urgent긴급하게 처리해야 할 작업

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions