Add support for using Apache Solr for GitLab Advanced Global Search instead of ElasticSearch
Release notes
With Elastic changing the license of ElasticSearch to the SSPL, GitLab now offers support for advanced search using Apache Solr.
Problem to solve
Elastic has announced that ElasticSearch 7.11 will change its license to a non-OSS license. It's changing from the Apache Software License 2.0 to the Server Side Public License. This is not an open-source license in letter or in spirit based on the analysis by Fedora.
Proposal
Adding support for Apache Solr as an alternative backend for GitLab Advanced Global Search would allow continued use of the feature past the availability of any supported version of OSS ElasticSearch. It may also be worth considering deprecating ElasticSearch and slating it for removal with GitLab 14.0, depending on how quickly a Solr backend can be added.
As Solr is based on Lucene like ElasticSearch, the indexing methods should be very similar. The query language for Solr is quite different, but it should still be reasonable to adapt to.
Intended users
This feature proposal affects all personas in some form or fashion, but the main personas that this feature would have an impact on are: