Feature #35764
closedMultiple search terms in the "contains" operator of text filters
0%
Description
I extracted the attached patch from #35073#note-4. The patch posted by Jens Krämer from Planio allows you to use multiple search terms in "contains" operator of text filters.
The alternative I am experimenting with right now is breaking up the user's query string into tokens like the global search does, and use these to build a query with multiple LIKE clauses that are combined with AND. I'm attaching a preliminary patch that implements this for the Issue.like scope (used by the autocompleter) and the Query#sql_contains method (which should cover all query filters). Do you think that's a viable approach?
It seems that the patch has already been deployed to the production environment of Planio. See Planio filters just got more powerful - Planio Support (english) - Planio Support
Files
Related issues
Updated by Go MAEDA over 3 years ago
- Blocked by Feature #35073: Escape values in LIKE statements to prevent injection of placeholders (_ or %) added
Updated by Marius BĂLTEANU over 3 years ago
- Resolution set to Fixed
Patch committed with tests, thanks for this nice improvement.
The patch introduces the following offense:
Lint/IneffectiveAccessModifier: private (on line 1074) does not make singleton methods private. Use private_class_method or private inside a class << self block instead. def self.tokenized_like_conditions(db_field, value, **options)
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from New to Resolved
I've disabled for now the rubocop offense for Lint/IneffectiveAccessModifier. Jens, the method self.tokenized_like_conditions
should not be public instead of private?
Updated by Marius BĂLTEANU over 3 years ago
- Status changed from Resolved to Closed
Updated by Go MAEDA over 1 year ago
- Has duplicate Feature #33286: Multiple search terms in "Subject" filter added