Solr Konfiguration

URL-Weiterleitung mittels Jetty

Standardmäßig leitet Solr die Anfragen auf den Ordner \solr weiter. Wenn man nun einen anderen Ordner als Weiterleitung nehmen will, muss man die root\server\etc\jetty.xml ändern und zwar den RewriteHandler:

     <New id="RewriteHandler" class="org.eclipse.jetty.rewrite.handler.RewriteHandler">
      <Set name="rewriteRequestURI">true</Set>
      <Set name="rewritePathInfo">false</Set>
      <Set name="originalPathAttribute">requestedPath</Set>

      <Call name="addRule">
        <Arg>
          <New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
            <Set name="regex">^/$</Set>
            <Set name="replacement">/solr/freelancer/</Set>
          </New>
        </Arg>
      </Call>
     </New>

/solr/ aus der URL rausbekommen

in
C:\solr-6.4.1\server\contexts\solr-jetty-context.xml
muss der context-path geändert werden, also nicht mehr

<Property name="hostContext" default="/solr"/>

sondern:

<?xml version="1.0"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
  <Set name="contextPath"><Property name="hostContext" default="/solr"/></Set>
  <Set name="war"><Property name="jetty.base"/>/solr-webapp/webapp</Set>
  <Set name="defaultsDescriptor"><Property name="jetty.base"/>/etc/webdefault.xml</Set>
  <Set name="extractWAR">false</Set>
</Configure>

dann muss aber auch die root\server\etc\jetty.xml geändert werden und hier im replacement das /solr/ wieder rausgenommen werden, also

          <New class="org.eclipse.jetty.rewrite.handler.RedirectRegexRule">
            <Set name="regex">^/$</Set>
            <Set name="replacement">/solr/freelancer/</Set>
          </New>

Solr einrichten auf Windows

bezieht sich auf solr version 6.4.1

Download and unzip: http://lucene.apache.org/solr/downloads.html

Download Java: https://java.com/de/download/ und lege Umgebungsvariable JAVA_HOME an mit dem Dateipfad zur java.exe (z.B.: C:\Program Files (x86)\Java\jre1.8.0_121).

Port 8984 bei Firewall freischalten.

per cmd:
cd C:\solr-6.4.1\bin
solr start -p 8984

Im Browser: http://server:8984 aufrufen. Et voila:
2017-03-04 14_03_07-Solr Admin

 

Achtung bei Einsatz auf Produktivumgebungen: https://cwiki.apache.org/confluence/display/solr/Taking+Solr+to+Production