2016-04-24 9 views
0

Gibt es eine Möglichkeit, Apache Solr in Tomcat 7 zu integrieren oder muss ich zwei Server in meiner Anwendung ausführen? Kann ich Apache Solr innerhalb Tomcat und nicht als separaten Server ausführen?Wie integriert man Apache Solr in Apache Tomcat 7?

+0

Ein guter Weg, es zu tun ist mit Spring Data Solr: http://projects.spring.io/spring-data-solr/ – duffymo

Antwort

0

Die offizielle Antwort lautet: Führen Sie es als eigenständige Anwendung aus.

No Longer Unterstützte

Beginnend mit Solr 5.0, Unterstützung für die Bereitstellung von Solr als WAR in Servlet-Container wie Tomcat wird nicht mehr unterstützt.

Informationen zur Installation von Solr als eigenständiger Server finden Sie unter Installing Solr.

Hintergrund über die Entscheidung für diesen Umzug kann on the Solr Wiki gefunden werden.

Solr ist ein Server, keine Java-Webanwendung, ähnlich wie mysql oder der Apache-Webserver. Als Solr zum ersten Mal erstellt wurde, war das Entwerfen als Webanwendung eine gute Wahl, um zu vermeiden, dass viel kniffliger Code zum Aufbau einer Netzwerkschicht geschrieben wird. Heutzutage ist diese Designentscheidung zu einem limitierenden Faktor geworden.

Wenn Sie Solr herunterladen und auf Ihrem Computer installieren, sollte es Solr sein, die gestartet wird. Es sollte nicht notwendig sein, Solr in einer Anwendung eines Drittanbieters (Servlet-Container) zu installieren, bevor es funktioniert.

Zu diesem Zeitpunkt ist Solr immer noch eine Webanwendung, aber dies ist ein internes Implementierungsdetail, keine unveränderliche Eigenschaft. Ziel ist es, Solr zu einer eigenständigen Anwendung zu machen. Startup-Skripts, die den enthaltenen Container starten, sind der erste Schritt zu diesem Ziel. Jetty könnte immer noch die Technologie sein, die verwendet wird, sobald Solr eine eigenständige Anwendung ist, aber wenn dies geschieht, wird sie intern eingebettet.

0

Solr ist immer noch eine Web-App. Sie schlagen vor, es nicht in einem anderen Servlet-Container zu verwenden, da es von ihnen nicht empfohlen und getestet wurde.

Sie geben ein vollständig getestetes System und möchten nicht, dass andere (Entwickler) Zeit investieren, um es mit anderen Containern zu testen.

Ich habe solr 3.4 Version verwendet und eingesetzt es in Tomcatbediener auf Port 8080 Meine Anwendung ist in einer anderen tomcat auf Port 8080 eingesetzt und ist auf einer anderen Maschine.

Ich habe den Krieg solr erstellt und das gleiche in Tomcat eingesetzt. und nur der 8080-Port dieses Servers ist offen und wurde nur von unserer Anwendung zugänglich gemacht.

Ich bin nicht sicher über die solr Version 5 ... d. ob diese in einer anderen Behälter außer jetty eingesetzt werden ... aber ich denke, es ist in tomcat eingesetzt werden kann ... müssen Sie das gleiche versuchen ...

andere Sache, der deply Anwendung Krieg und solr Krieg nicht ist im selben Behälter oder in einem einzelnen Behälter. Der Grund ist, wenn eine Anwendung ausfällt, wird alles ausbleiben.

Wie wenn solr ausfällt, dann kann die Anwendung untergehen, was für die Anwendung nicht gut ist.

+0

Solr Version 6 ist bereits am Horizont, würde ich nicht vorschlagen, es zu Ihrem eigenen zu bauen wie sie sagen: _Note, dass, wenn Sie diese Art der Bereitstellung tun, Sie sind auf eigene Faust. _ – cheffe

+1

@cheffe: Ich stimme voll und ganz mit Ihnen überein. Ich habe meine Meinung und Erfahrung OP gegeben ... Jetzt ist es ganz seine eigene Entscheidung, wie er es weiter bringen will ... –

+1

verstanden, ich sollte Emojis mehr nutzen :) – cheffe