Solr: Installation und Konfiguration

Solr lässt sich einfach mit Buildout installieren. Hierzu kann das Paket collective.recipe.solrinstance verwendet werden.

Hierzu erstellen wir die Datei solr.cfg, die z.B. so aussehen kann:

[buildout]
parts =
    solr-download
    solr-instance

[versions]
collective.recipe.solrinstance = 3.5
gocept.download = 0.9.5

[solr-download]
recipe = hexagonit.recipe.download
download-directory = parts/solr-download
strip-top-level-dir = true
url = http://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.apache.org/dist//lucene/solr/3.4.0/apache-solr-3.4.0.tgz
ignore-existing = true

solr-instance]
recipe = collective.recipe.solrinstance
solr-location = ${solr-download:location}
host = 83.223.91.163
port = 8983
basepath = search
solr-location

Pfad zur Installation von Solr. In unserem Fall ist dies

${solr-download:location}
host

Name oder IP-Adresse des Solr-Servers.

Der Standardwert ist localhost:

port

Der Port, an dem Solr auf Anfragen lauscht.

Der Standardwert ist 8983.

basepath

Pfad zum Solr-Service auf dem Server. Hieruas wird die endgülitge URL für den Solr-Service generiert:

$host:$port/$basepath

Der Standardwert ist solr.

Der Solr-Server kann nun einfach gestartet werden mit:

$ ./bin/solr-instance fg

oder:

$ ./bin/solr-instance start

Logging

logdir = ${buildout:directory}/var/solr
logging-template = ${buildout:directory}/templates/logging.properties.tmpl
logdir
${buildout:directory}/var/solr
logging-template
${buildout:directory}/templates/logging.properties.tmpl

Das logging.properties.tmpl kann dann z.B. so aussehen:

# Default global logging level:
.level= INFO

Konfiguration der Suche

max-num-results = 500
section-name = SOLR
unique-key = id
default-search-field = text
filter =
    text solr.StopFilterFactory ignoreCase="true" words="stopwords.txt"
    text solr.WordDelimiterFilterFactory generateWordParts="1" generateNumberParts="1" catenateWords="0" catencatenateAll="0"
    text solr.LowerCaseFilterFactory
    text solr.RemoveDuplicatesTokenFilterFactory

index =
    name:text             type:text    stored:true
    name:title            type:text    stored:true
    name:created          type:date    stored:true required:true
    name:modified         type:date    stored:true
    name:filesize         type:integer stored:true
    name:mimetype         type:string  stored:true
    name:id               type:string  stored:true required:true
    name:relpath          type:string  stored:true
    name:fullpath         type:string  stored:true
    name:renderurl        type:string  stored:true
    name:tag              type:string  stored:true
max-num-results

Die maximale Anzahl von Ergebnissen, die der Solr-Server ausliefern soll.

Der Standardwert ist 500.

section-name

Name des Abschnitts für die Produktkonfiguration, die für die zope.conf generiert wird.

Der Standardwert ist solr.

unique-key

beschreibt ein Feld als eindeutig für alle Dokumente. Weitere Informationen hierzu erhalten Sie unter SchemaXml.

Der Standardwert ist uid.

default-search-field

konfiguriert das Standardsuchfeld sofern kein Feld explizit angegeben wurde.

filter

konfiguriert zusätzliche Filter für den Standard-Feldtyp. Jeder Filter wird in einer neuen Zeile aus einem Index und Parametern definiert. Dabei kann einer der verfügbaren Indextypen angegeben werden und als Parameter Schlüssel-Wert-Paare. Einen Überblick über die verfügbaren Filter erhalten Sie in TokenFilterFactories.

Weitere Konfigurationsmöglichkeiten von collective.recipe.solrinstance erhalten Sie in Supported options.