Select your language

Solr è una piattaforma di ricerca open source compilata in Java e sviluppata dal progetto Lucene di Apache. Una delle attività principali di Solr è la ricerca full text ottimizzata.

La presente guida descrive in che modo potete attivare Solr sul vostro Managed Flex Server.

Requisiti

Per il funzionamento di Solr devono essere soddisfatti i seguenti requisiti:

  • Java Runtime Environment (JRE) è disponibile sul vostro Managed Flex Server e viene costantemente aggiornato da noi.
  • Solr può essere attivato a partire da Managed Flex Server M.

Installazione e attivazione

Per poter eseguire i seguenti passaggi è necessario aver effettuato l’accesso al Managed Flex Server tramite SSH.

Al fine di avere una panoramica chiara delle applicazioni installate, si consiglia di installare le applicazioni in una cartella dell’app all’interno della home clienti. In questa guida all’installazione e alla configurazione salviamo l’applicazione su ~/app/solr. Questa struttura delle cartelle può essere creata come di seguito:

mkdir -p ~/app/solr

Download di Solr

Per il download di Solr passate all’application directory creata in precedenza:

cd ~/app/solr

Poi devi scaricare l'ultima versione dal sito web di Solr e decomprimerla:


			wget https://downloads.apache.org/lucene/solr/x.x.x/solr-x.x.x.tgz -O /tmp/solr.tar.gz
 tar -xzf /tmp/solr.tar.gz -C ~/app/solr
 rm -rf /tmp/solr.tar.gz
			

Si consiglia di creare un collegamento simbolico di ~/app/solr/current sulla cartella scaricata per evitare di dover utilizzare i numeri di versione nei file di configurazione. Questo collegamento simbolico può essere creato come di seguito:

ln -s ~/app/solr/solr-x.x.x ~/app/solr/current

Configurazione di Solr

Affinché Solr sia in ascolto solo su 127.0.0.1, è necessario impostare la seguente opzione nel file di configurazione ~/app/solr/current/bin/solr.in.sh:

~/app/solr/current/bin/solr.in.sh
SOLR_OPTS="$SOLR_OPTS -Djetty.host=127.0.0.1"

In caso contrario, Solr è in ascolto su qualsiasi indirizzo IP del server ed è raggiungibile da Internet!

Testare Solr

La presente sezione descrive in che modo potete avviare Solr, salvare un documento al suo interno e interrogarlo nuovamente.

Dopo aver terminato correttamente l’installazione e la configurazione, potete avviare Solr per i primi test in primo piano (argomento -f) come di seguito:

~/app/solr/current/bin/solr start -f

Poiché ora Solr funziona, tramite SSH potete creare su una seconda shell un core Solr in cui è possibile salvare e interrogare nuovamente i documenti. Il seguente comando genera un core Solr con il nome example-core.

_JAVA_OPTIONS="-Xms32m -Xmx256m" ~/app/solr/current/bin/solr create_core -c example-core

Un core Solr fa riferimento a un indice con le relative configurazioni e i relativi file di log delle transazioni.

Salvare un documento in Solr

Con il seguente script PHP salvato su ~/app/solr/hello-world-insert.php è possibile salvare un documento in Solr mediante una libreria PHP Solr. Il documento viene creato con l’ID 1, la categoria example e il testo "Hello World!".

~/app/solr/hello-world-insert.php
<?php 

$options = array
(
    'hostname' => '127.0.0.1',
    'port' => 8983,
    'path' => 'solr/example-core'
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 1);
$doc->addField('cat', 'example');
$doc->addField('text', 'Hello World!');

$updateResponse = $client->addDocument($doc);
$client->commit();

print_r($updateResponse->getResponse());

?>

Lo script PHP può essere eseguito come di seguito e il documento viene salvato in Solr:

php ~/app/solr/hello-world-insert.php

Cercare un documento in Solr

Per cercare documenti in Solr è possibile utilizzare lo script PHP sottostante, salvato su ~/app/solr/hello-world-search.php. In questo esempio vengono cercati tutti i documenti con la categoria example e per tutti i documenti trovati vengono visualizzati i campi id, cat e text.

~/app/solr/hello-world-search.php
<?php
			
$options = array
(
    'hostname' => '127.0.0.1',
    'port' => 8983,
    'path' => 'solr/example-core'
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('cat:example');

$query->setStart(0);

$query->setRows(50);

$query->addField('id')->addField('cat')->addField('text');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Ora è possibile eseguire anche questo script al fine di testare la funzione:

php ~/app/solr/hello-world-search.php

Integrazione

Funzionamento con il Custom Service Control

Finora avete avviato le vostre applicazioni manualmente mediante la shell. Se questa operazione può rappresentare una semplice soluzione per i test e per lo sviluppo, non lo è per il funzionamento. Il Custom Service Control (CSC) si può occupare del funzionamento e della gestione automatica della propria applicazione, ad esempio dell’avvio e dell’arresto in caso di interventi di manutenzione sul server.

Nel caso in cui finora non abbiate ancora utilizzato il CSC, è necessario avviarlo al fine di creare i dati di configurazione necessari:

hpservices supervisord start
supervisord successfully started

La configurazione di Solr nel CSC è molto semplice. Create dunque un nuovo Custom Service per Solr:

hpservices supervisord add solr
successfully created dir for solr: /home/username/.services/supervisord/solr
successfully created dir for solr: /home/username/.services/supervisord/solr/log
supervisord service config file written: /home/username/.services/supervisord/solr/service.conf

Nel file ~/.services/supervisord/solr/service.conf viene creato uno schema di configurazione per il nuovo servizio. Per Solr è necessario adeguare solo il command, mentre tutti gli altri valori proposti possono essere adottati (rimuovere il punto e virgola all’inizio della riga).

~/.services/supervisord/solr/service.conf
[program:solr]
command=%(ENV_HOME)s/app/solr/current/bin/solr start -f
directory=%(ENV_HOME)s/app/solr/ ; directory to cwd to before exec (default no cwd)
autostart=true ; start application at supervisord start (default: true)
stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/solr/log/default.log
stdout_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10 ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/solr/log/default.err
stderr_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10 ; number of stderr logfile backups (0 means none, default 10)

Affinché il Supervisord possa monitorare il processo di Solr, è assolutamente necessario far funzionare Solr in primo piano (opzione -f).

Qualora il processo di Solr continuasse ad essere eseguito per i test indicati precedentemente, interromperlo innanzitutto con Ctrl + C.

Con supervisorctl update è possibile attivare una nuova configurazione di Solr:

supervisorctl update
solr: added process group

Attenzione: se si riceve un errore, è necessario eseguire una volta “hpservices supervisord start”.

Per informazioni più dettagliate sull’uso e sulle possibilità disponibili con il CSC fate riferimento alla Custom Service Control.

Proxy web (Nginx) sull’interfaccia di amministrazione di Solr

Per rendere la vostra applicazione accessibile tramite HTTP(s), è necessario configurare il sito web nel pannello di controllo Hostpoint in modo che il server web inoltri tutte le richieste a Solr come proxy.

Nel vostro pannello di controllo Hostpoint create un sito web del tipo “Proxy Nginx su applicazione propria”:

Website erstellen Port 8983 it

Indirizzo del server e porta

La funzione proxy si aspetta che l’applicazione sia in ascolto all’indirizzo IPv4 di loopback 127.0.0.1 ed è quindi necessario indicare solo la porta: 8983.

Proteggere l’accesso con una password

Affinché l’accesso al sito web sia protetto dall’esterno con nome utente e password, è possibile creare un file htpasswd come di seguito:

htpasswd -c ~/app/solr/.htpasswd admin

Questo file deve essere memorizzato nel pannello di controllo di Hostpoint sotto «Siti Web» > «Impstazioni web» > «Protezione tramite password».

Una volta terminata correttamente la configurazione, potrete accedere al sito web solo inserendo nome utente e password.

Ulteriori informazioni

La preghiamo di utilizzare questo modulo solo per dare il suo feedback sulla procedura qui sopra.
Per richieste di supporto la preghiamo di usare invece questo modulo.

 

 

© 2001 - Hostpoint AG
Cookie

Wir verwenden Cookies  🍪

We use Cookies  🍪

Nous utilisons des cookies  🍪

Utilizziamo dei cookie  🍪

Die digitalen Auftritte von Hostpoint (Website, Control Panel, Support Center etc.) verwenden Cookies. Diese werden dazu verwendet, um Daten über Besucherinteraktionen zu sammeln. Wenn Sie auf «Akzeptieren» klicken, stimmen Sie der Verwendung dieser Cookies für Werbezwecke, Website-Analyse und Support zu. Gewisse essenzielle Cookies sind jedoch für eine ordnungsgemässe Funktion dieser Seiten unerlässlich und können deshalb nicht deaktiviert werden. Auch ohne Ihre Zustimmung können gewisse Daten in anonymisierter Form für statistische Zwecke und zur Verbesserung unserer Websites verwendet werden. Bitte beachten Sie unsere Datenschutzerklärung.

Hostpoint's digital presences (website, Control Panel, Support Center, etc.) use cookies. These are used to collect data on visitor interactions. If you click “Accept”, you agree to the use of these cookies for advertising purposes, website analysis and support. However, certain cookies are essential for the proper functioning of these pages and therefore cannot be disabled. Even without your consent, certain data may be used in anonymized form for statistical purposes and to improve our websites. Please note our Privacy policy.

Le sites Web de Hostpoint (site Web, Control Panel, Centre d'assistance, etc.) utilisent des cookies. Ces cookies servent à collecter des données sur les interactions des visiteurs. En cliquant sur «Accepter», vous consentez à l’utilisation de ces cookies à des fins de publicité, d’analyse du site Web et d’assistance. Certains cookies essentiels sont cependant indispensables au bon fonctionnement de notre sites Web et ne peuvent donc pas être désactivés. Même sans votre consentement, certaines données peuvent être utilisées sous forme anonymisée à des fins statistiques et pour améliorer notre sites Web. Veuillez prendre connaissance de notre Déclaration de protection des données.

Le presenze digitali di Hostpoint (sito web, Pannello di controllo, Support Center, ecc.) utilizzano i cookie. Questi vengono utilizzati per raccogliere dati sulle interazioni dei visitatori. Facendo clic su «Accetta», acconsente all’utilizzo di questi cookie per scopi pubblicitari, di analisi del sito web e di supporto. Alcuni cookie essenziali sono tuttavia indispensabili per il corretto funzionamento di questi siti web e pertanto non possono essere disattivati. Anche senza il Suo consenso, determinati dati potrebbero essere utilizzati in forma anonima per fini statistici e per l’ottimizzazione dei nostri siti web. Si prega di tenere conto della nostra Dichiarazione per la pivacy.

Ablehnen
Decline
Refuser
Rifiuta
Akzeptieren
Accept
Accepter
Accetta