Skip to content

[DP-466] _map_tags() 단어 경계 매칭 적용#68

Merged
nYeonG4001 merged 1 commit into
developV2from
feature/DP-466-word-boundary-tag-matching
May 7, 2026
Merged

[DP-466] _map_tags() 단어 경계 매칭 적용#68
nYeonG4001 merged 1 commit into
developV2from
feature/DP-466-word-boundary-tag-matching

Conversation

@nYeonG4001
Copy link
Copy Markdown
Contributor

연결된 지라 Jira 티켓

  • DP-466

작업내용

_map_tags()에서 단순 in 포함 검색이 짧은 태그(Go, RDS 등)를 관련 없는 영상에 오매칭하는 문제 수정.

예시:

  • "Django tutorial""django""go" 포함 → Go 태그 오매칭
  • "going through issues""going""go" 포함 → Go 태그 오매칭

변경점

  • app/collectors/backfill/youtube.py: _map_tags() 텍스트 매칭을 \b 단어 경계 정규식으로 교체
  • snippet.tags 매칭도 동일하게 단어 경계 방식 적용
  • tests/test_youtube_collector.py: 단어 경계 관련 인수 조건 테스트 4건 추가

테스트

pytest tests/test_youtube_collector.py -v
# 12 passed
pytest -q
# 507 passed

인수 조건 확인:

  • "Django tutorial" + ["Go"] → Go 매칭 안 됨 ✓
  • "Learn Go programming" + ["Go"] → Go 정상 매칭 ✓
  • snippet tag "golang" + ["Go"] → Go 매칭 안 됨 ✓

리스크/주의사항

  • 기존 동작 대비 false positive 감소. false negative 가능성은 태그가 완전한 단어로 등장하지 않는 경우뿐이며, 개발 기술 태그 특성상 해당 없음.
  • 성능: 태그 수×(title+description 길이) 비례하나 기존과 동일한 O(n) 복잡도.

AI 사용 여부

  • Claude Code로 구현 보조 (코드 작성 및 테스트 케이스 설계)

단순 in 포함 검색을 \b 정규식 기반 단어 경계 매칭으로 교체해
'Django'에서 'Go', 'going'에서 'Go' 등 부분 문자열 오매칭 방지.
snippet.tags 매칭도 동일한 방식으로 통일.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@nYeonG4001 nYeonG4001 merged commit bb24ed1 into developV2 May 7, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant