Cum se instalează motorul de căutare Sphinx pe CentOS 7

Sphinx este un motor de căutare cu text complet gratuit și open source, care poate fi integrat în diverse aplicații web pentru a oferi rezultate de căutare rapide și de înaltă calitate.

Acest articol vă va arăta cum să setați un motor de căutare Sphinx pentru a indexa și căuta un exemplu de bază de date MariaDB pe o instanță a serverului Vultr CentOS 7. Acesta vă va oferi câteva idei preliminare despre cum să utilizați Sphinx în proiectul dvs.

Cerințe preliminare

  • Implementați o nouă instanță de server CentOS 7 din panoul de control Vultr.
  • Utilizați un utilizator sudo non-root pentru a vă autentifica de la terminalul SSH. Vedeți cum puteți crea un utilizator sudo în acest articol .

Pasul 1: Actualizați-vă sistemul

sudo yum update -y && sudo reboot

După terminarea repornirii sistemului, utilizați același utilizator sudo pentru a vă autentifica din nou.

Pasul 2: Instalați și configurați MariaDB

Sphinx poate fi utilizat pentru a căuta în diverse surse de date, cum ar fi baze de date SQL, fișiere text simple, fișiere HTML, etc.

Instalați MariaDB folosind YUM:

sudo yum install mariadb mariadb-server

Porniți serviciul MariaDB:

sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service

În scopuri de securitate, efectuați instalarea sigură MySQL:

sudo /usr/bin/mysql_secure_installation

Finalizați această procedură în conformitate cu următoarele instrucțiuni:

Enter current password for root (enter for none): Press Enter
Set root password? [Y/n]: Input Y, then press Enter
New password: Input a new password for root, press Enter
Re-enter new password: Input the same password again, then press Enter
Remove anonymous users? [Y/n]: Input Y, then press Enter
Disallow root login remotely? [Y/n]: Input Y, then press Enter
Remove test database and access to it? [Y/n]: Input Y, then press Enter
Reload privilege tables now? [Y/n]: Input Y, then press Enter

După terminarea instalării sigure MySQL, va trebui să setați o nouă parolă pentru „root” pentru utilizatorul MySQL. În acest tutorial, mă voi referi la el ca „cuvântul dvs. pasaj”.

Pasul 3: Instalați cel mai recent Sfinx

Pentru a instala cea mai recentă versiune a Sphinx, trebuie să descărcați pachetul de rpm corespunzător de pe site-ul oficial Sphinx:

cd ~
wget http://sphinxsearch.com/files/sphinx-2.2.10-1.rhel7.x86_64.rpm
sudo yum install sphinx-2.2.10-1.rhel7.x86_64.rpm

Pasul 4: Creează o bază de date pentru testare

Utilizați următoarele comenzi MySQL pentru a crea o bază de date numită "test":

mysql -u root -p -e "CREATE DATABASE test"

Când vi se solicită să furnizați o parolă, introduceți cea setată mai devreme și apoi apăsați Enter.

Acum, importați datele de testare dintr-un fișier sql de exemplu Sphinx:

mysql -u root -p test < /usr/share/doc/sphinx-2.2.10/example.sql

Din nou, introduceți aceeași parolă și apoi apăsați Enter pentru a termina importul.

Pasul 5: Configurați Sfinxul

Deschideți fișierul de configurare Sphinx /etc/sphinx/sphinx.conf:

sudo vi /etc/sphinx/sphinx.conf

Deocamdată, trebuie doar să configurați numele de utilizator MySQL sql_userși parola sql_pass, care ar fi:

sql_user                = root
sql_pass                = yourpassword

Salvează și închide:

:wq

Pasul 6: Porniți demonizatoarele indexatoare și căutate

Atât indexatorul cât și căutarea sunt componente importante ale Sfinxului. Indexer este responsabil de colectarea datelor de la sursa de date, iar searchd este partea motorului de căutare care se ocupă efectiv de căutări.

Asigurați-vă că rulați următoarele comenzi în mod ordonat, sau veți întâmpina erori.

sudo indexer --all
sudo searchd

Pentru a actualiza regulat starea indexului, creați o lucrare cron:

sudo crontab -e

Introduceți următoarea intrare:

0 * * * * /usr/bin/indexer --rotate --config /etc/sphinx/sphinx.conf --all

Salvează și închide:

:wq

Această lucrare cron va actualiza starea indexului pe oră.

Pasul 7: Testează-ți motorul de căutare Sphinx

Puteți utiliza un script piton predefinit pentru a testa configurarea Sphinx:

python /usr/share/sphinx/api/test.py this is my test document

Această comandă va căuta „acesta este documentul meu de testare” în exemplul de bază de date MySQL și vă va arăta rezultatul căutării.

Asta încheie acest tutorial. Sphinx include și o API de căutare, care poate fi folosită din propriile proiecte PHP, Perl, Python, Ruby sau Java. Mai multe informații sunt disponibile pe site-ul oficial al Sphinx.

Lasă un comentariu

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe