Skip to content

#87 πŸ› fix: ν•™μŠ΅ 도메인 기사 검색(λ³Έλ¬Έ - λŒ€μ†Œλ¬Έμž λ¬΄μ‹œ)#89

Merged
kkshyun merged 1 commit intodevelopfrom
refactor/#87-learning-search
Feb 18, 2026
Merged

#87 πŸ› fix: ν•™μŠ΅ 도메인 기사 검색(λ³Έλ¬Έ - λŒ€μ†Œλ¬Έμž λ¬΄μ‹œ)#89
kkshyun merged 1 commit intodevelopfrom
refactor/#87-learning-search

Conversation

@kkshyun
Copy link
Copy Markdown
Member

@kkshyun kkshyun commented Feb 18, 2026

πŸ“ PR νƒ€μž… (ν•˜λ‚˜ 이상 선택)

  • κΈ°λŠ₯ μΆ”κ°€
  • 버그 μˆ˜μ •
  • μ˜μ‘΄μ„±, ν™˜κ²½ λ³€μˆ˜, λΉŒλ“œ κ΄€λ ¨ μ½”λ“œ μ—…λ°μ΄νŠΈ
  • 기타 μ‚¬μ†Œν•œ μˆ˜μ •

❗️ κ΄€λ ¨ 이슈 링크

Close #87

πŸ“Œ κ°œμš”

본문이 clob 이라 λŒ€μ†Œλ¬Έμž ꡬ뢄이 잘 λ˜μ§€ μ•ŠμŒ.

πŸ” λ³€κ²½ 사항

Oracle CLOB 컬럼(summaryFull)에 λŒ€ν•΄ DBMS_LOB.SUBSTR둜 일뢀λ₯Ό μΆ”μΆœν•œ λ’€ UPPER()둜 μ •κ·œν™”ν•˜μ—¬ LIKE λΉ„κ΅ν•˜λ„λ‘ 변경함.

πŸ“Έ μŠ€ν¬λ¦°μƒ·

πŸ‘€ 기타 더 이야기해볼 점

βœ… 체크 리슀트

  • PR ν…œν”Œλ¦Ώμ— λ§žμΆ”μ–΄ μž‘μ„±ν–ˆμ–΄μš”.
  • λ³€κ²½ λ‚΄μš©μ— λŒ€ν•œ ν…ŒμŠ€νŠΈλ₯Ό μ§„ν–‰ν–ˆμ–΄μš”.
  • ν”„λ‘œκ·Έλž¨μ΄ μ •μƒμ μœΌλ‘œ λ™μž‘ν•΄μš”.
  • PR에 μ μ ˆν•œ 라벨을 μ„ νƒν–ˆμ–΄μš”.
  • λΆˆν•„μš”ν•œ μ½”λ“œλŠ” μ‚­μ œν–ˆμ–΄μš”.

Summary by CodeRabbit

릴리슀 λ…ΈνŠΈ

  • 버그 μˆ˜μ •
    • 기사 검색 μ‹œ λ‹€μ–‘ν•œ ν˜•μ‹μ˜ μš”μ•½ λ¬Έμ„œλ₯Ό ν¬κ΄„μ μœΌλ‘œ 검색할 수 μžˆλ„λ‘ κ°œμ„ ν–ˆμŠ΅λ‹ˆλ‹€.
    • 검색 κΈ°λŠ₯μ—μ„œ λŒ€μ†Œλ¬Έμž ꡬ뢄 없이 보닀 μ •ν™•ν•œ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λ„λ‘ μˆ˜μ •ν–ˆμŠ΅λ‹ˆλ‹€.

@kkshyun kkshyun merged commit 3c0b80a into develop Feb 18, 2026
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Feb 18, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

ν•™μŠ΅ ν™”λ©΄ κ²€μƒ‰μ—μ„œ λŒ€μ†Œλ¬Έμžμ— 관계없이 λ™μΌν•œ κ²°κ³Όλ₯Ό λ°˜ν™˜ν•˜λ„λ‘ μˆ˜μ •λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λŒ€ν˜• ν…μŠ€νŠΈ(CLOB) μ €μž₯μ†Œλ₯Ό 효과적으둜 μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ DBMS_LOB.SUBSTR을 μ‚¬μš©ν•œ 쿼리 둜직이 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

Changes

Cohort / File(s) Summary
검색 쿼리 CLOB 처리 κ°œμ„ 
src/main/java/com/finsight/finsight/domain/naver/domain/service/ArticleQueryDslImpl.java
λŒ€μ†Œλ¬Έμž λ¬΄μ‹œ 검색 κΈ°λŠ₯ κ°•ν™”: DBMS_LOB.SUBSTR을 ν†΅ν•œ CLOB 데이터 μ²˜λ¦¬μ™€ booleanTemplate을 μ΄μš©ν•œ λŒ€λ¬Έμž LIKE 검색 μΆ”κ°€, κΈ°μ‘΄ summary3Lines ν•„λ“œμ™€μ˜ OR μ‘°ν•©μœΌλ‘œ 검색 λ²”μœ„ ν™•λŒ€.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes


상세 κ²€ν†  의견

πŸ‘ μΉ­μ°¬ν•  λΆ€λΆ„:

  • CLOB 데이터 νƒ€μž…μ„ κ³ λ €ν•œ μ‹€μš©μ μΈ 쿼리 μˆ˜μ •μ΄ μ’‹μŠ΅λ‹ˆλ‹€. Oracle의 DBMS_LOB.SUBSTR을 ν™œμš©ν•˜μ—¬ λŒ€ν˜• ν…μŠ€νŠΈ ν•„λ“œλ₯Ό 적절히 μ²˜λ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

⚠️ 확인이 ν•„μš”ν•œ λΆ€λΆ„:

  1. μ„±λŠ₯ 영ν–₯: DBMS_LOB.SUBSTRκ³Ό UPPER() ν•¨μˆ˜ 쑰합은 인덱슀λ₯Ό ν™œμš©ν•˜μ§€ λͺ»ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λŒ€λŸ‰μ˜ λ°μ΄ν„°μ—μ„œ 느린 쿼리가 λ°œμƒν•  κ°€λŠ₯성이 μžˆμœΌλ‹ˆ, ν–₯ν›„ 인덱싱 μ „λž΅μ„ κ²€ν† ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

  2. SUBSTR λ²”μœ„ 확인: DBMS_LOB.SUBSTR(summaryFull, ...)μ—μ„œ μ‹œμž‘ μœ„μΉ˜μ™€ 길이 νŒŒλΌλ―Έν„°κ°€ λˆ„λ½λ˜μ–΄ λ³΄μž…λ‹ˆλ‹€. 전체 CLOB을 μ²˜λ¦¬ν•˜λŠ” 것인지, νŠΉμ • 크기만 μ²˜λ¦¬ν•˜λŠ” 것인지 λͺ…ν™•νžˆ ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  3. OR 쑰건의 쀑볡성: 두 ν•„λ“œ(CLOB 처리된 summaryFullκ³Ό summary3Lines)μ—μ„œ λͺ¨λ‘ λ™μΌν•œ ν‚€μ›Œλ“œ 검색을 μˆ˜ν–‰ν•˜λ―€λ‘œ, 쀑볡 κ²°κ³Όκ°€ λ°˜ν™˜λ  수 μžˆμŠ΅λ‹ˆλ‹€. ν•„μš”μ‹œ DISTINCTλ‚˜ UNION의 ν™œμš©μ„ κ³ λ €ν•˜μ„Έμš”.

✨ Finishing Touches
  • πŸ“ Generate docstrings
πŸ§ͺ Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch refactor/#87-learning-search

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❀️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

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