fix(search): advanced search now ORs same-column filters#207
Open
sreeshanth-soma wants to merge 1 commit intoopenbroadcaster:5.5-developfrom
Open
fix(search): advanced search now ORs same-column filters#207sreeshanth-soma wants to merge 1 commit intoopenbroadcaster:5.5-developfrom
sreeshanth-soma wants to merge 1 commit intoopenbroadcaster:5.5-developfrom
Conversation
- Multiple genres / tags / etc. now return correct results - (genre=Action OR genre=Comedy) AND type=... - Zero regression on single filters or simple search
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.
Closes: #129
Summary
Fixes Advanced Search logic so multiple values for the same field are OR-grouped, while different fields remain AND-combined.
This makes queries behave as expected:
Problem
search_filters_where_array()previously built a flat list of SQL conditions, and the caller joined everything withAND.So selecting two genres produced:
genre_id = "1" AND genre_id = "2"which can never match a single row, causing zero results.
Changes
Backend —
core/models/media_model.phpsearch_filters_where_array()to:ANDjoin behavior.eq,contains,has, metadata defaults, etc.).Verification Steps
Sidebar → Media → Advanced Search.GenreisAction, clickAdd.GenreisComedyFunny, clickAdd.Include in Dynamic Selections?isYes, clickAdd.Search.(Genre = Action OR Genre = ComedyFunny)
AND Include in Dynamic Selections = Yes.