Skip to content

[fix/#236] Elasticsearch 인덱싱 실패 시 embeddedAt 필드가 잘못 업데이트되는 문제 해결#238

Merged
Dimo-2562 merged 5 commits intodevelopfrom
fix/#236
Feb 2, 2026
Merged

[fix/#236] Elasticsearch 인덱싱 실패 시 embeddedAt 필드가 잘못 업데이트되는 문제 해결#238
Dimo-2562 merged 5 commits intodevelopfrom
fix/#236

Conversation

@Dimo-2562
Copy link
Contributor

❤️ 기능 설명

Elasticsearch 인덱싱 실패 시에도 DB의 embedded_at 필드가 업데이트되는 문제를 해결했습니다.

주요 변경사항

  1. PostEmbeddingWriter 개선

    • ElasticsearchOperations.bulkIndex()ElasticsearchClient.bulk() 직접 사용
    • BulkResponse.errors()item.error() 체크로 실패한 문서 명확히 식별
    • 성공한 Post ID만 embeddedAt 업데이트
    • 실패한 문서의 ID와 에러 원인을 로그에 출력
  2. PostDocument 직렬화 문제 해결

    • getPublishedAt() 메서드에 @JsonIgnore 추가
    • ElasticsearchClient가 getter를 자동 호출하여 LocalDateTime 직렬화 시도하던 문제 해결
    • publishedAtString 필드는 정상적으로 ES에 저장됨
  3. PostEmbeddingReader 페이징 제거

    • PageRequest.of(0, 1000)에서 List<Post> 전체 조회로 변경
    • PostRepository에 findBySummaryIsNotNullAndEmbeddedAtIsNull() 메서드 추가
    • 수천 개 이하의 데이터에 대해 메모리 문제 없이 전체 처리 가능
  4. ContentChunkerService 최적화

    • 청크 단위를 늘려 한 게시글당 청크 개수를 최대 20개 전후로 조정
    • 임베딩 API 호출 횟수 감소 및 효율성 개선

swagger 테스트 성공 결과 스크린샷 첨부

연결된 issue

연결된 issue를 자동으로 닫기 위해 아래 {이슈넘버}를 입력해주세요.

close #236



✅ 체크리스트

  • PR 제목 규칙 잘 지켰는가?
  • 추가/수정사항을 설명하였는가?
  • 테스트 결과 사진을 넣었는가?
  • 이슈넘버를 적었는가?

@Dimo-2562 Dimo-2562 self-assigned this Feb 2, 2026
@Dimo-2562 Dimo-2562 added 🔧 FIX 버그 수정 🏢 domain:source 테크블로그 출처 labels Feb 2, 2026
@Dimo-2562 Dimo-2562 merged commit 5e53aea into develop Feb 2, 2026
1 check passed
@Dimo-2562 Dimo-2562 deleted the fix/#236 branch February 2, 2026 17:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🏢 domain:source 테크블로그 출처 🔧 FIX 버그 수정

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FIX] Elasticsearch 인덱싱 실패 시 embeddedAt 필드가 잘못 업데이트되는 문제 해결

1 participant