Apache Solr
UTF-8 in Tomcat aktivieren

Martin Brüggemann, 22.06.2009 - 08:54 | 3 Kommentare |  |  Teilen

Wer sich mit der Indexierung von deutschsprachigen Inhalten beschäftigt und dabei Apache Solr und Tomcat als Backend verwendet, wird relativ schnell auf ein merkwürdiges Phänomen stoßen: Aufgrund der Default-ISO-Einstellung von Tomcat (zumindest bei Tomcat 5.5 in Ubuntu), werden für Suchanfragen mit Sonderzeichen (z.B. "Zürich") keine Ergebnisse gefunden.

Abhilfe schafft hier die richtige Tomcat-Konfiguration in der server.xml. Um die UTF-8-Unterstützung zu aktivieren, reicht es aus durch den Parameter "URIEncoding" auf "UTF-8" zu setzen.

Vorher:

<Connector port="8080" maxHttpHeaderSize="8192"                                                                         
 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"                                                   
 enableLookups="false" redirectPort="8443" acceptCount="100"                                                  
 connectionTimeout="20000" disableUploadTimeout="true"/>

Nacher:

<Connector port="8080" maxHttpHeaderSize="8192"                                                                         
 maxThreads="150" minSpareThreads="25" maxSpareThreads="75"                                                   
 enableLookups="false" redirectPort="8443" acceptCount="100"                                                  
 connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8"/>

Nach dem Neustart von Tomcat mit "/etc/init.d/tomcat5.5 restart" sollte einer korrekten Indexierung und der Ergebnisauslieferung trotz Sonderzeichen nichts mehr im Wege stehen.

Aktuelle News:

3 Antworten zu “Apache Solr: UTF-8 in Tomcat aktivieren”

  1. #1 Ingo

    Tipp: gleich Tomcat 6 benutzen, dort musst du das zwar auch noch ändern, aber ansonsten geht alles andere viel leichter von der Hand... die ganzen Distributionspakete sind sowas von verkonfiguriert....

  2. #2 Martin Herr

    Ja. Hab ich auch überlegt, aber in unserer Ubuntu LTS ist leider nur Tomcat 5.5 dabei.. müssen wir später mal schauen, ob sich der switch zu Tomcat 6 lohnt. Solr läuft auf jeden Fall auch mit Tomcat 5.5 gut und ich bin vorübergehend zufriedengestellt.

  3. #3 Lars

    Ich habe die "bittere" Erfahrung gemacht, dass manchmal die oben beschriebene Änderung alleine nicht genug war. Je nach Anwendungsfall ist an mehreren Stellen auf die korrekte Kodierung zu achten. Meine Erkenntnisse habe ich im Artikel Apache Tomcat und UTF-8 zusammengefasst. Vielleicht ist er ja hilfreich.