silverstripe-fulltextsearch/docs/en/02_setup.md

2.0 KiB

Setup

The fulltextsearch module includes support for connecting to Solr.

It works with Solr in multi-core mode. It needs to be able to update Solr configuration files, and has modes for doing this by direct file access (when Solr shares a server with SilverStripe) and by WebDAV (when it's on a different server).

See the helpful Solr Tutorial, for more on cores and querying.

Requirements

Since Solr is Java based, it requires Java 1.5 or greater installed.

When you're installing it yourself, it also requires a servlet container such as Tomcat, Jetty, or Resin. For development testing there is a standalone version that comes bundled with Jetty (see Installing Solr below).

See the official Solr installation docs for more information.

Note that these requirements are for the Solr server environment, which doesn't have to be the same physical machine as the SilverStripe webhost.

Installing Solr

Local installation

If you'll be running Solr on the same machine as your SilverStripe installation, you can use the silverstripe/fulltextsearch-localsolr module. This can also be useful as a development dependency. You can bring it in via composer (use require-dev if you plan to use install Solr remotely in Production):

composer require silverstripe/fulltextsearch-localsolr

Once installed, start the server via CLI:

cd fulltextsearch-localsolr/server
java -jar start.jar

Then configure Solr to use file more with the following configuration in your app/_config.php, making sure that the path directory is writeable by the user that started the server (above):

use SilverStripe\FullTextSearch\Solr\Solr;

Solr::configure_server([
    'host' => 'localhost',
    'indexstore' => [
        'mode' => 'file',
        'path' => BASE_PATH . '/.solr'
    ]
]);

Remote installation

Installing the module

Solr admin