Elasticsearch: Unable to search for strings in code containing colons
Summary
As described by customer:
We running GitLab with Elasticsearch integration. When doing a search for "foo::bar", I'm not seeing results for that exact phrase. I get results for anything with foo OR bar, which produces way to many results to sift through.
I've tried all of the following:
"\"foo::bar\""
"\"foo\:\:bar\""
"foo\:\:bar"
foo AND "\"::\"" AND bar
foo::bar~2
The last one was the closest, but included results like "foo_bar" but no results with "foo::bar".
Steps to reproduce
Note: We were able to reproduce the customers issues searching under the "This project" field in GitLab.
Configure Elasticsearch then search for foo::bar
on 10.x.x (customer on 10.0.4, we reproduced on 10.2.1).
Example Project
Requires local install
What is the current bug behavior?
No string matches
What is the expected correct behavior?
At least one of the syntaxes above should match.
Possible fixes
(If you can, link to the line of code that might be responsible for the problem)
Edited by Adam Mulvany