The current global search of SonarQube gets old and suffers from some limitations/problems in terms of searching - which affects the UX:
- it is a strict search and does not accept typos - unlike what is done for rule search
- when the text that is typed is not discriminent enough, you might not see results that are relevant for you (for instance files that don't belong to your favorite projects)
- it does not support the CamelCase search that developers are used to
- it might badly support some special characters (like it was the case for underscore at some point of time)
As a developer, I expect to type:
- "SonrQube" and get results for "SonarQube" (fuzzy query)
- "ASPTE" and see in the first results "AccessSecuredPropsTaskExtension"
- multiple words like "plugin java" and get the results of "AbstractPluginFactory.java" for example
- "Plugin" and see in the first results the "Plugin.java" files of my favorite projects. Other matches on non-favorite projects have lower score.
By the time we start working on this MMF, the indexing should be done in Elasticsearch (
MMF-659). We should then be able to tune the indexation and unleash all the power of Elasticsearch to meet our goals.
MMF-659, we'll concentrate on the relevancy. In other words, to not have any dependency on the Web part, we expect the /api/components/suggestions WS to behave exactly the same way as in previous versions.