2011-02-08 8 views
28

Próbowałem różnych linków, ale nie mogę znaleźć dobrego zasobu na tworzenie działającej instancji solr, która działa z szynami w produkcji.Konfiguracja solr solr z szynami w środowisku produkcyjnym

Rozumiem, że musisz skonfigurować serwer Solr do produkcji. Próbowałem konfiguracji solr z tomcat, ale nie mogę połączyć go z aplikacją rails.

Czy jest jakiś dobry zasób, który mógłbym wykorzystać?

Dzięki

Odpowiedz

7

Ten blog może rozwiązać pytanie:

Install Solr 4.4 z molo w CentOS i skonfigurować serwer do pracy z Solr Sunspot Gem. (http://blogs.pigrider.com/blogs/26)

Poniżej kilka części z bloga: ......

8) Skopiuj plik konfiguracyjny schema.yml z aplikacji Rails do katalogu domowego z systemem Solr 4.4 instancji. Nadpisze to przykładowy plik konfiguracyjny Solr i skonfiguruje serwer Solr 4.4 do pracy z Sunspot Gem. cp /RailsApplicationPath/Solr/conf/schema.yml/opt/solr/solr/collection1/conf /.

Katalog domowy uruchomionej instancji Solr 4.4 to/opt/solr/solr/collection1 /. Można znaleźć te informacje z Solr admin strony http: // l o c a l H o s t: 8983/solr/admin

9) Dodaj wersji pole do schema.yml plik konfiguracyjny, aby zaspokoić Solr wymóg 4,4 inicjalizacji. W rzeczywistości do pliku muszą zostać dodane dwie linie kodu. Są to:

<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/> 

<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> 

Schemat pliku konfiguracyjnego.yml ostatecznie będzie wyglądać następująco:

<schema name="sunspot" version="1.0"> 
    <types> 
    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> 
    <!-- *** Other Sunspot fieldType Definitions *** --> 
    </types> 

    <fields> 
    <field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/> 
    <!-- *** Other Sunspot field Definitions *** --> 
    </fields> 

    <!-- *** Other Sunspot Configurations *** --> 
</schema> 

......

42

Sunspot perełka zawiera sunspot-solr binarnych. Najprostszą konfiguracją byłoby po prostu uruchomienie sunspot-solr start. W zależności od sposobu wdrożenia aplikacji możesz również dołączyć zadanie do swojego wdrożenia Capistrano, które korzysta z dostarczonego przez Sunspot rake, aby uruchomić serwer Solr. Mianowicie, rake sunspot:solr:start RAILS_ENV=production.

Uzyskanie bardziej dogłębnej informacji może obejmować: zainstalowanie Tomcat jako samodzielnej usługi, uruchomionej i zatrzymanej za pomocą własnego skryptu startowego (lub konfiguracji Upstart), najlepiej monitorowanej przez monit lub god; pobieranie i wdrażanie solr.war w Tomcat i konfigurowanie pliku solr.xml w celu odszukania dogodnej lokalizacji na dysku w celu przechowywania danych indeksowych, solrconfig.xml i schema.xml.

Wiki Solr zawiera także stronę o numerach installing Solr with Tomcat i other servlet containers.

W jednej z powyższych opcji hostowanych, ważne jest, aby pamiętać o Sunspot: wyłączyć automatyczne zatwierdzanie i polegać na własnych ustawieniach Solrw solrconfig.xml. Możesz je wyłączyć, ustawiając auto_commit_after_request: false w swoim config/sunspot.yml.

Wreszcie, jeśli jesteś bardziej zainteresowany outsourcingiem tego wszystkiego, istnieje również moja własna, skromnie obsługiwana usługa Solr pod numerem http://websolr.com/ - możemy uruchomić Cię za pomocą zaledwie kilku kliknięć.

+1

końcu udało mi się uruchomić solr z kocurem w Ubuntu 10.04 serwerze. Pozostała ostatnia rzecz, jak połączyć to z moją aplikacją? –

+0

@Nick, możesz podać więcej informacji na temat, dlaczego powinniśmy ustawić auto_commit_after_request na false w tym scenariuszu? To jedyne miejsce, o którym wspomniałem. –

+2

Zaangażowania są kosztowne i blokują inne zapisy. Wydanie zatwierdzenia po każdym żądaniu jest dobre dla rozwoju i małych witryn w produkcji, ale stanie się ciężarem dla wszystkich aktualizacji Solr w miarę wzrostu ruchu zapisu. Masz rację, że prawdopodobnie nie jest to obecnie bardzo dobrze udokumentowane. –