[5.x] Limit search query count when there are a lot of them#1311
Open
Jade-GG wants to merge 2 commits into
Open
[5.x] Limit search query count when there are a lot of them#1311Jade-GG wants to merge 2 commits into
Jade-GG wants to merge 2 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ref: AN-425
We ran into an issue on a site that had 300k+ search queries in the search_query table. While this table should probably be cleaned up, this also presented an issue where the indexer would break due to too many items being indexed, causing the indexing to take too long (and wasting resources).
Originally, I had wanted to do this with a simple
orderByDesc('popularity')->limit(10000)directly on the query itself. However, that didn't work as scout will modify the query stripping off the limit in the process.Instead, this PR sets a minimum popularity value based on what the 10000th highest popularity value is.