Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 55905fbd93
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Linting FailedNote: The status check will always pass. Run Click to expand lint output |
…evance-search type-check fix by Jimmy
|
Moving this request to draft until more code is added |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5b0c06bdac
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| for (const click of missingClicks) { | ||
| const item = catalogById.get(click.courseNumber); | ||
| if (!item) continue; | ||
| scoreMap.set(item, 0.6); | ||
| items.push(item); |
There was a problem hiding this comment.
Deduplicate missing-click entries before appending
RecentType.CourseClick stores each click with a new timestamp, so recentClicks can contain the same courseNumber multiple times. This loop appends one catalog item per click without deduping (and without updating coveredIds), so a single course can be inserted repeatedly into catalogSearch.results and totalCount can be overstated when that course was missing from Fuse hits. Please dedupe by course id (or mark ids as covered while appending).
Useful? React with 👍 / 👎.
|
@PineND merge? |
|
Implementation blocker is that cache control for pagination is now private, so everytime someone fetch the catalog via search we create a unique cached response. Hit rate basically go to 0 and our system will get a lot more load. We would have to seperate the query into 2 layer, a generic layer that have higher hit rate, then reranking after. Very complex and im not sure if its worth it |
Problem:
Current catalog search returns results ranked purely by fuzzy match score. Users who regularly search for the same courses (e.g. their major requirements) have to scroll to the same results every session when they type the same search term. There's no personalization such that when users click on some classes in the past, these classes will be prioritized in the returned query.
Scope
Goals:
Non-Goals: