2011-02-08 10 views
28

ho provato vari link, ma io non riesco a trovare una buona risorsa sulla creazione di una corsa solr esempio che funziona con le rotaie in produzione.Setup macchie solari solr con binari in ambiente di produzione

ho capito che si deve configurare il server solr per la produzione. Ho provato il setup di solr con tomcat ma non riesco a collegarlo all'app rails.

C'è qualche buona risorsa là fuori che potrei usare?

Grazie

risposta

7

Questo blog può risolvere il problema:

Installare Solr 4.4 con pontile in CentOS, e configurare il server Solr per lavorare con macchie solari Gem. (http://blogs.pigrider.com/blogs/26)

Qui di seguito sono alcune parti dal blog: ......

8) copiare questo file schema.yml di configurazione dalla vostra applicazione Rails per la home directory di corsa Solr 4.4 esempio. Sostituirà il file di configurazione dell'esempio Solr lì e configurerà il server Solr 4.4 per funzionare con Sunspot Gem. cp /RailsApplicationPath/Solr/conf/schema.yml/opt/solr/solr/collection1/conf /.

La directory home dell'istanza di Solr 4.4 in esecuzione è/opt/solr/solr/collection1 /. È possibile trovare queste informazioni da Solr pagina di amministrazione http: // l o c a l h o s t: 8983/solr/admin

9) Aggiungi versione campo nel file di configurazione schema.yml per soddisfare Solr requisito 4.4 inizializzazione. In realtà, è necessario aggiungere due righe di codice nel file. Sono:

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

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

Lo schema del file di configurazione.yml alla fine sarà simile:

<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

La gemma macchie solari comprende il sunspot-solr binario. La configurazione più semplice sarebbe solo quella di eseguire sunspot-solr start. A seconda di come l'applicazione viene distribuita, si potrebbe anche includere un compito in Capistrano distribuire che utilizza task rake disponibile Sunspot per avviare un server Solr. Vale a dire, rake sunspot:solr:start RAILS_ENV=production.

Ottenere più approfondita da che potrebbe coinvolgere: l'installazione di Tomcat come servizio autonomo, avviato e arrestato con il proprio script di inizializzazione (o Upstart config), idealmente monitorato da Monit o un dio; scaricando e distribuendo solr.war in Tomcat e configurando il solr.xml per fare riferimento a una posizione comoda su disco per i dati dell'indice, solrconfig.xml e schema.xml da memorizzare.

Il wiki Solr include anche una pagina su installing Solr with Tomcat e other servlet containers.

In entrambe le opzioni auto-ospitate sopra, c'è un punto importante da tenere presente con Sunspot: disabilitare i suoi commit automatici e fare affidamento sulle proprie impostazioni autoCommit di Solr in solrconfig.xml. È possibile disattivare i commit impostando auto_commit_after_request: false nel vostro config/sunspot.yml.

Infine, se sei più interessato solo all'esternalizzazione di tutto questo, c'è anche il mio servizio Solr ospitato in hosting al http://websolr.com/ - possiamo averti installato e funzionante in pochi clic.

+1

finalmente sono riuscita a correre solr con Tomcat nel server di Ubuntu 10.04. L'ultima cosa che rimane è come connetterlo alla mia applicazione di rotaie? –

+0

@Nick, potresti fornire maggiori informazioni sul perché dovremmo impostare auto_commit_after_request su false in questo scenario? Questo è l'unico posto che ho visto menzionato. –

+2

I commit sono costosi e bloccano altre scritture. Emettere un commit dopo ogni richiesta va bene per lo sviluppo, e piccoli siti in produzione, ma diventerà un onere per tutti gli aggiornamenti di Solr man mano che il traffico di scrittura cresce. Hai ragione che questo probabilmente non è molto ben documentato in questo momento. –

Problemi correlati