-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BE] feat#329 퀴즈검색 성능개선 #330
[BE] feat#329 퀴즈검색 성능개선 #330
Conversation
like문 대신 전문검색 사용
500 -> 250 ms 성능개선
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 5 out of 8 changed files in this pull request and generated no comments.
Files not reviewed (3)
- BE/src/InitDB/QUIZ_SET_TEST_DATA.ts: Evaluated as low risk
- BE/src/main.ts: Evaluated as low risk
- BE/src/quiz-set/entities/quiz-choice.entity.ts: Evaluated as low risk
Comments suppressed due to low confidence (2)
BE/src/quiz-set/service/quiz-set-read.service.ts:118
- The construction of
searchQuery
does not handle special characters in the search term, which could lead to incorrect query results or errors.
const searchQuery = `+"${search.split(' ').join('" +"')}`;
BE/src/quiz-set/service/quiz-set-read.service.ts:151
- [nitpick] The type casting of
choiceResults
toany
is unclear and should be replaced with a more explicit type definition for better readability and maintainability.
...choiceResults.map((c) => (c as any).quizSetId)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
➕ 이슈 번호
🔎 작업 내용
이 PR은 백엔드 서비스의 여러 변경사항을 포함하며, 데이터베이스 초기화, 퀴즈셋 데이터 관리, 검색 기능 개선에 중점을 두었습니다. 가장 중요한 변경사항은 다음과 같습니다:
퀴즈셋 카테고리 제한:
QUIZ_SET_TEST_DATA.ts
: "영어 문법 테스트" 퀴즈셋의 카테고리를 'ENGLISH'에서 'LANGUAGE'로 변경했습니다.전문 검색(Full-Text Search) 개선:
quiz-choice.entity.ts
:choiceContent
컬럼에ngram
파서를 사용하는 전문 검색 인덱스를 추가했습니다.quiz-set.entity.ts
:title
컬럼에ngram
파서를 사용하는 전문 검색 인덱스를 추가했습니다.quiz.entity.ts
:quiz
컬럼에ngram
파서를 사용하는 전문 검색 인덱스를 추가했습니다.성능 로깅:
quiz-set.controller.ts
: 퀴즈셋 목록을 가져오는데 걸리는 시간을 측정하기 위한 성능 로깅을 추가했습니다.코드베이스 단순화:
quiz-set-read.service.ts
:findSearchTargetIds
메서드를 전문 검색을 위한findSearchTargetIdsFS
를 사용하도록 리팩토링하고, 새로운 메서드에 대한 자세한 문서화와 성능 지표를 추가했습니다.🖼 참고 이미지
🎯 리뷰 요구사항 (선택)
✅ Check List