For using the Search API Solr Search module, you first need a Solr server with the appropriate configuration files. For that, you have two options: either installing Solr on your own server, or purchasing a server instance at a Solr hosting provider.
The most important thing to remember, for both variants, is to configure the Solr server with the correct configuration files. See the section in the relevant version for your setup:
Using a hosted solution
Using a hosted solution has the big advantage of requiring no expertise in Solr. There are a number of Solr hosts which either support the Search API directly or allow you to upload your own configuration files. A few of them are listed on the Search API Solr Search project page, but the list is surely incomplete (and might also be out-dated). One thing to watch out for (except for either explicit support of the latest version of Search API Solr Search or support of uploading custom configs) is that the connection shouldn't require any advanced authentication mechanism, like a certificate or appending GET parameters to all requests, as this currently isn't supported by the module (out of the box). Currently, only Basic HTTP Authentication and HTTPS are supported.
And again: remember to use the correct configuration files!
Then, just enter the connection information for Solr (which you should have received from the Solr host) when creating the Search API server and you should be good to go.
Installing Solr manually
Docker images
There are official Docker images, which provide Apache Solr in various versions. Docker images can be used on all operating systems. However, there might be performance impacts due to virtualization overhead and pitfalls in administration. See native - non virtualized - options below.
Linux packages
While Solr is simply available through the package manager in most popular Linux distributions, the versions in the distribution repositories are usually very out-dated (e.g., the latest Ubuntu LTS version, 14.04, contains Solr 3.6). Also, installing and running Solr manually isn't very hard, so doing that is usually the better choice.
The Search API Solr Search module will work with Solr version 3.5 or any higher one (e.g., 3.6, 4.0, 4.8, 5.1). The config files to use are contained in the module's solr-conf/ directory, grouped by the major version number of Solr (3.x, 4.x, 5.x). If the major version you want to use is not contained there, the version will not be supported by the module (e.g., it's possible 3.x support will be dropped at some point, while 1.4 support was already dropped).
If you are using one of the numerous great guides on the internet for setting up Solr, simply remember to use these config files and the integration with Search API should work as expected.
Detailed instructions on setting up Solr depend on the major version used, and can be found here:
It is usually recommended to use the latest stable version available, since those will offer the best performance and most features (some of which will also be supported by this module). However, new major versions ("x.0", "x.1") often also contain regressions, so be careful when using one that was only released recently and maybe search for existing issues with it.
Note: Due to such an incompatible change, Solr versions 5.5 and higher (in the 5.x) branch are not supported. Please use either Solr 5.4.1 or Solr 6.x (once it's supported by this module).
Installing on a Mac
It's recommended to use Homebrew as a package manager on Mac. Then you are able to install Solr in the latest version very easily with the following command:
brew install solr
Then you can start and stop Solr like follows:
solr start
solr stop
If you have copied the configuration which is generated by the Search Api Solr module (3.0.0-beta1) into your folder located at /usr/local/opt/solr@7.7/server/solr/YOUR-CORE-NAME, you must modify the solrcore.properties. It must contain the following line, if you have installed Solr version 7.7:
solr.install.dir=/usr/local/opt/solr@7.7/libexec
This is due the following issue: #3015993 - Error loading class 'solr.ICUCollationField' whilst setting up core. On Linux machines the solr.install.dir property should mostly be defined like the following:
solr.install.dir=../../../
Also the Apache Tika extension, for indexing documents (like PDFs and Microsoft Office formats), can be installed easily:
brew install tika
Installing Solr with Ansible
Ansible is a simple server automation tool. For installing fully functional Apache Solr server instance you can use an Ansible module maintained by geerlingguy. See https://github.com/geerlingguy/ansible-role-solr .
You can contribute to the project by submitting bug reports, code and documentation! Please help to make it better so no one needs to install Solr by hand.