This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

Configurare Sphinx

Perché Sphinx possa funzionare su MariaDB tramite Sphinx Storage Engine, occorre configurarlo.

  • Il file di configurazione di default si chiama sphinx.conf, e di solito si trova in /etc/sphinxsearch (Debian/Ubuntu), /etc/sphinx/sphinx.conf. (Red Hat/CentOS) o C:\Sphinx\sphinx.conf (Windows).

Se non esiste ancora, è possibile utilizzare il file di configurazione di esempio, sphinx.conf.dist. Ci sono anche dei dati di esempio che è possibile utilizzare per il testing. Per caricare i dati di esempio (che creano due tabelle, documents e tags nel database test):

mysql -u test < /usr/local/sphinx/etc/example.sql (Red Hat, CentOS) mysql -u test < /usr/share/doc/sphinxsearch/example-conf/example.sql (Debian/Ubuntu)

Il file di configurazione di esempio documenta le opzioni disponibili. Occorrerà però fare qualche modifica. Bisogna creare un utente MariaDB con i permessi per accedere al database. Per esempio:

CREATE USER 'sphinx'@localhost 
  IDENTIFIED BY 'sphinx_password';
GRANT SELECT on test.* to 'sphinx'@localhost;

Bisogna poi aggiungere questi dettagli alla sezione mysql del file di configurazione:

sql_host = localhost 
sql_user = sphinx 
sql_pass = sphinx_password 
sql_db   = test 
sql_port = 3306 

Su Windows, le righe path e pid devono essere modificate inserendo un path valido, in genere in questo modo:

path = C:\Sphinx\docsidx
...
pid_file = C:\Sphinx\sphinx.pid

La query nei file di configurazione è la query che verrà usata per costruire un indice. Nei dati di esempio è la seguente:

sql_query = \
  SELECT id, group_id, UNIX_TIMESTAMP(date_added) AS date_added, title, content \
  FROM documents
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.