Jak zainstalować i skonfigurować Sphinx na Ubuntu 16.04, 14.04

Jak zainstalować i skonfigurować Sphinx na Ubuntu 16.04, 14.04

SPHINX to prosty, trafność i open source w pełnym teście serwer wyszukiwania. Jest napisany w języku programowania C ++ i działa z Linux i innymi popularnymi systemami operacyjnymi. Ten samouczek pomoże Ci zainstalować i skonfigurować serwer wyszukiwania w pełnym teście Sphinx na Ubuntu 16.04, 14.04 LTS Systemy operacyjne.

Wymagania wstępne

Zanim zaczniesz ten przewodnik, musisz mieć obserwowanie.

  • Serwer Ubuntu z dostępem sudo
  • Wstępnie zainstalowany serwer MySQL

Krok 1 - Zainstaluj Sphinx

Instalowanie Sphinx na Ubuntu jest łatwe, ponieważ jest w repozytorium opakowań natywnych. Zainstaluj go za pomocą menedżera pakietów apt-get w systemie Ubuntu.

sudo add-apt-repozytory PPA: kompilacje/sphinxsearch-rel22 sudo apt-get aktualizacja sudo apt-get instaluj SphinxSearch 

Krok 2 - Importuj bazę danych MySQL

Zaimportujmy przykładowy plik SQL do bazy danych.Najpierw utwórz bazę danych o nazwie Test na swoim serwerze MySQL, a następnie przywrócić bazę danych dostarczoną przez pakiet wyszukiwania Sphinx.

sudo mysqladmin -u root -p Utwórz test sudo mysql -u root -p test < /usr/share/doc/sphinxsearch/example-conf/example.sql 

Krok 3 - Skonfiguruj Sphinx

Edytuj konfigurację Sphinx jak poniżej i edytuj dla konfiguracji połączenia MySQL, jak pokazano poniżej.

sudo vi/etc/sphinxsearch/sphinx.conf 
Źródło SRC1  # typ źródła danych. mandatory, no default value # known types are mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc type = mysql ########################### ############################################ ## SQL Ustawienia (dla „MySQL „i„ pgsql ”typy) ##########################################################################. #############################kilka prostych parametrów dla typów źródłowych SQL SQL_HOST = LocalHost SQL_USER = root SQL_PASS = Secret SQL_DB = TEST SQL_PORT = 3306# opcjonalnie, domyślnie to 3306 

Krok 4 - Uruchamianie indeksatora

Uruchom indekser, aby utworzyć indeks pełny tekst z danych. Indekser jest pierwszym z dwóch głównych narzędzi w ramach Sphinx. Działa na zebranie danych, które będą możliwe do przeszukiwania. Zobaczysz wyniki jak poniżej.

Sudo Indekser -All Sphinx 2.2.11-ID64-Ureasease (95E9A6) Copyright (c) 2001-2016, Andrew Aksyonoff Copyright (C) 2008-2016, Sphinx Technologies Inc (http: // sphinxSearch.com) za pomocą pliku konfiguracji '/etc/sphinxsearch/sphinx.Conf '… indeks indeksowy „test1”… zebrano 4 dokumenty, 0.0 MB posortowany 0.0 MHITS, 100.0% wykonane łącznie 4 dokumenty, 193 bajty łącznie 0.006 SEC, 30791 BYTES/SEC, 638.16 indeksów indeksowania DOC/SET „TEST1STEMMED”… zebrano 4 dokumenty, 0.0 MB posortowany 0.0 MHITS, 100.0% wykonane łącznie 4 dokumenty, 193 bajty łącznie 0.001 s, 99382 bajtów/s, 2059.73 Docs/SEC Pomijanie indeksu indeks „Dist1”… pomijanie indeksu indeksu nie-równania „RT”… ogółem 8 odczytów, 0.000 sekund, 0.1 kb/call AVG, 0.0 MSEC/Call AVG Całkowicie 24 zapisy, 0.000 sekund, 0.1 kb/call AVG, 0.0 MSEC/Call AVG 

Krok 5 - Rozpoczęcie Sfinx

Skonfiguruj także serwer SPHINX, aby automatycznie startował w rozruchu systemowym. Użyj poniżej polecenia, aby ustawić tak.

sudo sed -i 's/start = nie/start = tak/g'/etc/default/sphinxsearch 

Teraz również rozpocznij usługę po raz pierwszy i sprawdź status.

Service Sphinxsearch Start Service SfinxSearch Status 

Możesz także skonfigurować indekser w swoim crontab, aby uruchamiał go w regularnym odstępie czasu. Poniższy crontab będzie działał co godzinę.

0 * * * */usr/bin/indexer - -rotate --all 

Krok 6 - Praca ze Sphinx

Wykonajmy zapytania na serwerze Sphinx. Najpierw połącz się z serwerem mysql sphinx za pomocą następującego OCMMand.

MySQL -H0 -P9306 

Teraz uruchom polecenie jeden po drugim poniżej i zobacz zmiany. To dotyczy tylko twojej nauki.

mysql> wybierz * z testu 1, gdzie dopasuj się („dokument”); mysql> wstaw do wartości RT (1, „dodanie”, „przykładowy tekst tutaj”, 11); MySQL> Wstaw do wartości RT (2, „Dodawanie więcej”, „przykładowy tekst tutaj”, 22); MySQL> Wybierz GID/11 z RT, gdzie pasuje („próbka”) grupa według GID; mysql> wybierz * z RT rzędu przez GID DESC; mysql> select *, waga () z test1, gdzie dopasuj się ('„Document One”/1'); mysql> pokaż meta; mysql> Ustaw profilowanie = 1; mysql> wybierz * z testu1, gdzie id ID w (1,2,4); Mysql> Pokaż profil; MySQL> Wybierz id, identyfikator 3 idd z test1, gdzie pasuje („to jest | nic”) według IDD; Mysql> Pokaż profil; mysql> wybierz identyfikator z testu 1, gdzie się dopasowuje („Czy to dobry plan?'); Mysql> Pokaż planu; mysql> Wybierz liczbę (*) z test1; mysql> Call Keywords („jeden dwa trzy”, „test1”); Mysql> Call Keywords („jeden dwa trzy”, „test1”, 1); Mysql> Pokaż tabele;