Cara Memasang Sphinx Search Engine di CentOS 7

Sphinx adalah mesin carian teks penuh sumber terbuka dan bebas yang dapat disatukan ke dalam pelbagai aplikasi web untuk memberikan hasil carian yang cepat dan berkualiti tinggi.

Artikel ini akan menunjukkan kepada anda cara menyiapkan mesin carian Sphinx untuk mengindeks dan mencari contoh pangkalan data MariaDB pada contoh pelayan Vultr CentOS 7. Ini akan memberi anda beberapa idea awal tentang bagaimana menggunakan Sphinx dalam projek anda.

Prasyarat

  • Terapkan contoh pelayan CentOS 7 baru dari panel kawalan Vultr.
  • Gunakan pengguna sudo bukan root untuk log masuk dari terminal SSH anda. Lihat cara membuat pengguna sudo dalam artikel ini .

Langkah 1: Kemas kini sistem anda

sudo yum update -y && sudo reboot

Setelah reboot sistem selesai, gunakan pengguna sudo yang sama untuk log masuk semula.

Langkah 2: Pasang dan konfigurasikan MariaDB

Sphinx dapat digunakan untuk mencari berbagai sumber data, seperti pangkalan data SQL, fail teks biasa, fail HTML, dll. Di sini, mari kita lihat bagaimana menggunakan Sphinx untuk melakukan carian pada pangkalan data MariaDB.

Pasang MariaDB menggunakan YUM:

sudo yum install mariadb mariadb-server

Mulakan perkhidmatan MariaDB:

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

Untuk tujuan keselamatan, lakukan pemasangan MySQL yang selamat:

sudo /usr/bin/mysql_secure_installation

Selesaikan prosedur ini mengikut arahan berikut:

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

Setelah pemasangan MySQL yang selamat selesai, anda perlu menetapkan kata laluan baru untuk "root" pengguna MySQL. Dalam tutorial ini, saya akan menyebutnya sebagai "kata laluan anda".

Langkah 3: Pasang Sphinx terkini

Untuk memasang versi terbaru Sphinx, anda perlu memuat turun pakej rpm yang betul dari laman web rasmi 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

Langkah 4: Buat pangkalan data untuk ujian

Gunakan perintah MySQL berikut untuk membuat pangkalan data bernama "test":

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

Apabila anda diminta memberikan kata laluan, masukkan kata sandi yang anda tetapkan lebih awal dan kemudian tekan Enter.

Sekarang, import data ujian dari fail sql contoh Sphinx:

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

Sekali lagi, masukkan kata laluan yang sama dan kemudian tekan Enter untuk menyelesaikan import.

Langkah 5: Konfigurasikan Sphinx

Buka fail konfigurasi Sphinx /etc/sphinx/sphinx.conf:

sudo vi /etc/sphinx/sphinx.conf

Buat masa ini, anda hanya perlu menyiapkan nama pengguna sql_userdan kata laluan MySQL sql_pass, seperti:

sql_user                = root
sql_pass                = yourpassword

Simpan dan tutup:

:wq

Langkah 6: Mulakan pengindeks dan cari daemon

Kedua-dua pengindeks dan carian adalah komponen penting Sphinx. Indexer bertugas mengumpulkan data dari sumber data, dan searchd adalah bahagian dari mesin pencari yang sebenarnya mengendalikan pencarian.

Pastikan untuk menjalankan perintah berikut dengan teratur, atau anda akan menghadapi kesilapan.

sudo indexer --all
sudo searchd

Untuk mengemas kini status indeks secara berkala, buat kerja cron:

sudo crontab -e

Masukkan entri berikut:

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

Simpan dan tutup:

:wq

Pekerjaan cron ini akan mengemas kini status indeks setiap jam.

Langkah 7: Uji mesin carian Sphinx anda

Anda boleh menggunakan skrip python yang telah ditentukan untuk menguji persediaan Sphinx anda:

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

Perintah ini akan mencari "ini adalah dokumen ujian saya" dalam contoh pangkalan data MySQL dan kemudian menunjukkan hasil carian kepada anda.

Itu mengakhiri tutorial ini. Sphinx juga menyertakan API carian, yang dapat digunakan dari proyek PHP, Perl, Python, Ruby atau Java anda sendiri. Lebih banyak maklumat boleh didapati di laman web rasmi Sphinx.

Tinggalkan Komen

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut