프로젝트 배경
1) 문제점 - 기관마다 서로 다른 엑셀 양식(컬럼 순서·헤더명·날짜 포맷)을 단일 임포트 파이프라인으로 처리하기 위한 유연한 헤더 매핑 설계 문제 - Elasticsearch와 PostgreSQL 간 데이터 정합성을 보장하면서 대량 배치 삽입 시 부분 실패에 대한 롤백 전략 설계 문제 - 학문 분류 계층이 수천 노드에 달할 때 ltree 쿼리와 프론트 트리 컴포넌트 렌더링 성능을 동시에 유지하는 최적화
프로젝트 성과
Elasticsearch Bool Query 기반 다중조건 검색 엔진 구현
키워드·저자·학회·연도·분야 5개 필터를 must/should/filter 절로 동적 조합하고 Highlight API로 키워드 강조를 적용한 정밀 검색 구조를 구현하였습니다.
PostgreSQL ltree 확장 계층 분류 탐색 구조 구축
학문 대분류→중분류→소분류 계층을 ltree 경로 문자열로 저장하고 @> 연산자와 Ant Design TreeSelect Lazy Loading으로 효율적 트리 탐색 UI를 구현하였습니다.
SheetJS-Prisma-Elasticsearch 삼중 동기화 임포트 파이프라인 설계
엑셀 파싱 결과를 Prisma createMany와 Elasticsearch bulk API로 동시 삽입하는 트랜잭션 구조로 DB-검색엔진 데이터 정합성을 보장하였습니다.
ExcelJS/PDFKit 이중 포맷 검색결과 다운로드 구현
ExcelJS 스트리밍 모드와 PDFKit을 활용하여 최대 10,000건 검색 결과를 xlsx 및 PDF 보고서 형식으로 메모리 효율적으로 생성하는 다운로드 기능을 구현하였습니다.
Elasticsearch nori 한국어 형태소 분석기 적용 검색 최적화
Elasticsearch nori 플러그인으로 한국어 논문 제목·초록의 형태소 분석 인덱싱을 구성하여 자연어 키워드 검색 정확도를 향상시키는 구조를 설계하였습니다.
핵심 기능
진행 단계
Elasticsearch 검색 엔진 및 DB 스키마 설계
2025.03.
논문 메타데이터 PostgreSQL 스키마 확정, ltree 확장 계층 구조 설계, Elasticsearch 인덱스 매핑 및 한국어 형태소 분석기(nori) 설정
프로젝트 상세
1) 포트폴리오 소개 국내외 학술논문 메타데이터를 엑셀 기반으로 일괄 임포트하고 키워드·저자·학회·연도 등 다중조건 검색과 계층 분류 조회를 지원하는 B2G 학술정보 검색 시스템을 구현하였습니다. 검색 결과 Excel/PDF 다운로드, 원문 DOI 링크 연계, 논문 메타정보 CRUD 관리 기능을 포함한 연구기관 내부 정보 시스템 전체를 구축하였습니다. 2) 작업 범위 - 검색 대시보드: 논문 수, 분








