Előfeltételek
1. lépés: Frissítse rendszerét
2. lépés: Telepítse és konfigurálja a MariaDB-t
3. lépés: Telepítse a legújabb Sphinxet
4. lépés: Hozzon létre egy adatbázist teszteléshez
5. lépés: A Sphinx konfigurálása
6. lépés: Indítsa el az indexelőt és a keresett démonokat
7. lépés: Tesztelje a Sphinx keresőmotorját
A Sphinx egy ingyenes és nyílt forráskódú, teljes szövegű keresőmotor, amely különféle webes alkalmazásokba integrálható, hogy gyors és jó minőségű keresési eredményeket biztosítson.
Ez a cikk bemutatja, hogyan állíthat be egy Sphinx keresőmotort, hogy indexeljen és keressen egy példa MariaDB-adatbázisban egy Vultr CentOS 7 kiszolgálópéldányon. Ez ad néhány előzetes ötletet a Szfinx használatához a projektben.
Előfeltételek
- Telepítsen egy friss CentOS 7 kiszolgálópéldányt a Vultr vezérlőpultjáról.
- Használjon nem root sudo felhasználót az SSH terminálból való bejelentkezéshez. Ebben a cikkben megtudhatja, hogyan hozhat létre sudo felhasználót .
1. lépés: Frissítse rendszerét
sudo yum update -y && sudo reboot
A rendszer újraindítása után ugyanazt a sudo felhasználót használja a bejelentkezéshez.
A Sphinx segítségével különféle adatforrásokban kereshet, például SQL adatbázisokban, sima szöveges fájlokban, HTML fájlokban stb. Itt nézzük meg, hogyan lehet a Sphinxet használni MariaDB adatbázisokban való keresésre.
Telepítse a MariaDB-t a YUM segítségével:
sudo yum install mariadb mariadb-server
Indítsa el a MariaDB szolgáltatást:
sudo systemctl start mariadb.service
sudo systemctl enable mariadb.service
Biztonsági okokból hajtsa végre a biztonságos MySQL telepítést:
sudo /usr/bin/mysql_secure_installation
Fejezze be ezt az eljárást a következő utasítások szerint:
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
Miután a biztonságos MySQL telepítés befejeződött, új jelszót kell beállítania a MySQL "root" felhasználóhoz. Ebben az oktatóanyagban "a jelszavad" néven fogok hivatkozni rá.
3. lépés: Telepítse a legújabb Sphinxet
A Sphinx legújabb verziójának telepítéséhez le kell töltenie a megfelelő rpm csomagot a Sphinx hivatalos webhelyéről:
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
4. lépés: Hozzon létre egy adatbázist teszteléshez
A következő MySQL-parancsokkal hozzon létre egy "teszt" nevű adatbázist:
mysql -u root -p -e "CREATE DATABASE test"
Amikor a rendszer felkéri a jelszó megadására, írja be a korábban beállított jelszót, majd nyomja meg az Enter billentyűt.
Most importáljon tesztadatokat egy Sphinx példa sql fájlból:
mysql -u root -p test < /usr/share/doc/sphinx-2.2.10/example.sql
Ismét adja meg ugyanazt a jelszót, majd nyomja meg az Enter billentyűt az importálás befejezéséhez.
Nyissa meg a Sphinx konfigurációs fájlt /etc/sphinx/sphinx.conf:
sudo vi /etc/sphinx/sphinx.conf
Egyelőre csak a MySQL felhasználónevet sql_userés a jelszót kell beállítania sql_pass, amelyek a következők:
sql_user = root
sql_pass = yourpassword
Mentés és kilépés:
:wq
6. lépés: Indítsa el az indexelőt és a keresett démonokat
Az indexelő és a kereső is a Sphinx fontos összetevői. Az Indexer felelős az adatforrásból származó adatok összegyűjtéséért, a keresett pedig a keresőmotor azon része, amely ténylegesen kezeli a kereséseket.
Ügyeljen arra, hogy a következő parancsokat szabályosan futtassa, különben hibákat fog tapasztalni.
sudo indexer --all
sudo searchd
Az index állapotának rendszeres frissítéséhez hozzon létre egy cron-feladatot:
sudo crontab -e
Írja be a következő bejegyzést:
0 * * * * /usr/bin/indexer --rotate --config /etc/sphinx/sphinx.conf --all
Mentés és kilépés:
:wq
Ez a cron feladat óránként frissíti az index állapotát.
7. lépés: Tesztelje a Sphinx keresőmotorját
Használhat előre meghatározott python-szkriptet a Sphinx beállításának teszteléséhez:
python /usr/share/sphinx/api/test.py this is my test document
Ez a parancs a „this is my test document” kifejezésre keres a példa MySQL adatbázisban, majd megmutatja a keresési eredményt.
Ezzel az oktatóanyag véget ért. A Sphinx tartalmaz egy kereső API-t is, amelyet saját PHP, Perl, Python, Ruby vagy Java projektekből használhat. További információ a Sphinx hivatalos honlapján található.