-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
✅ 이슈 제목
- [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 설정 추가
📎 참고사항 (선택)
- 관련 커밋 / 문서 / 디자인 등 링크가 있다면 남겨주세요.
Reactions are currently unavailable