Allow underscores in full text search query
What does this MR do and why?
This fixes a regression introduced in !101565 (merged).
Previously, we were able to search for paths with underscores:
gitlabhq_development=# SELECT websearch_to_tsquery('english', 'browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb');
websearch_to_tsquery
-----------------------------------------------------------------------------
'browser' & 'ui/5_package/package_registry/maven/maven_group_level_spec.rb'
(1 row)
With that MR, we built the tsquery ourselves and it ended up being unintentionally split by underscore:
[1] pry(main)> Issue.send(:build_tsquery, "browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb", []).expr
=> "browser:* & ui/5:* & package/package:* & registry/maven/maven:* & group:* & level:* & spec.rb:*"
After this MR:
[1] pry(main)> Issue.send(:build_tsquery, "browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb", []).expr
=> "browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb:*"
This will result in the same tsquery as before:
gitlabhq_development=# SELECT to_tsquery('english', 'browser_ui/5_package/package_registry/maven/maven_group_level_spec.rb:*');
to_tsquery
---------------------------------------------------------------------------------
'browser':* & 'ui/5_package/package_registry/maven/maven_group_level_spec.rb':*
(1 row)
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.
Related to #381301 (closed)
Edited by Heinrich Lee Yu