GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal dan Mengonfigurasi Sphinx di Ubuntu 16.04, 14.04

Sphinx adalah server pencarian teks lengkap yang sederhana, relevan dan open source. Itu ditulis dalam bahasa pemrograman C++ dan bekerja dengan Linux dan sistem operasi populer lainnya. Tutorial ini akan membantu Anda menginstal dan mengkonfigurasi server pencarian teks lengkap Sphinx di sistem operasi Ubuntu 16.04, 14.04 LTS.

Prasyarat

Sebelum memulai panduan ini, Anda harus memiliki hal-hal berikut.

  • Server Ubuntu dengan akses sudo
  • Server MySQL yang sudah diinstal sebelumnya

Langkah 1 — Instal Sphinx

Menginstal Sphinx di Ubuntu mudah karena ada di repositori paket asli. Instal menggunakan apt-get package manager di sistem Ubuntu Anda.

sudo add-apt-repository ppa:builds/sphinxsearch-rel22
sudo apt-get update
sudo apt-get install sphinxsearch

Langkah 2 – Impor Database MySQL

Mari kita import contoh file SQL ke database. Pertama, buat database bernama test di server MySQL Anda, setelah itu restore database yang disediakan oleh paket pencarian sphinx.

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

Langkah 3 – Konfigurasi Sphinx

Edit konfigurasi sphinx seperti di bawah ini dan edit untuk konfigurasi koneksi MySQL seperti yang ditunjukkan di bawah ini.

sudo vi /etc/sphinxsearch/sphinx.conf
source src1
{
	# data source type. mandatory, no default value
	# known types are mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc
	type                    = mysql

	#####################################################################
	## SQL settings (for 'mysql' and 'pgsql' types)
	#####################################################################

	# some straightforward parameters for SQL source types
	sql_host                = localhost
	sql_user                = root
	sql_pass                = secret
	sql_db                  = test
	sql_port                = 3306  # optional, default is 3306

Langkah 4 – Menjalankan Pengindeks

Jalankan pengindeks untuk membuat indeks teks lengkap dari data Anda. Pengindeks adalah yang pertama dari dua alat utama sebagai bagian dari Sphinx. Ini berfungsi untuk mengumpulkan data yang akan dicari. Anda akan melihat hasilnya seperti di bawah ini.

sudo indexer --all 

Sphinx 2.2.11-id64-release (95ae9a6)
Copyright (c) 2001-2016, Andrew Aksyonoff
Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinxsearch/sphinx.conf'...
indexing index 'test1'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.006 sec, 30791 bytes/sec, 638.16 docs/sec
indexing index 'test1stemmed'...
collected 4 docs, 0.0 MB
sorted 0.0 Mhits, 100.0% done
total 4 docs, 193 bytes
total 0.001 sec, 99382 bytes/sec, 2059.73 docs/sec
skipping non-plain index 'dist1'...
skipping non-plain index 'rt'...
total 8 reads, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg
total 24 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg

Langkah 5 – Memulai Sphinx

Juga, konfigurasikan server Sphinx Anda untuk memulai secara otomatis saat boot sistem. Gunakan perintah di bawah ini untuk menyetel MULAI ke ya.

sudo sed -i 's/START=no/START=yes/g' /etc/default/sphinxsearch

Sekarang juga mulai layanan untuk pertama kalinya dan periksa statusnya.

service sphinxsearch start
service sphinxsearch status

Anda juga dapat mengonfigurasi pengindeks di crontab Anda untuk menjalankannya secara berkala. Crontab di bawah ini akan berjalan setiap jam.

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

Langkah 6 – Bekerja dengan Sphinx

Mari kita jalankan beberapa pertanyaan di server Sphinx Anda. Pertama-tama sambungkan ke server MySQL Sphinx menggunakan perintah berikut.

mysql -h0 -P9306

Sekarang jalankan satu per satu perintah di bawah ini dan lihat perubahannya. Ini hanya untuk pembelajaran Anda sendiri.

mysql> SELECT * FROM test1 WHERE MATCH('document');
mysql> INSERT INTO rt VALUES (1, 'adding', 'sample text here', 11);
mysql> INSERT INTO rt VALUES (2, 'adding some more', 'sample text here', 22);
mysql> SELECT gid/11 FROM rt WHERE MATCH('sample') GROUP BY gid;
mysql> SELECT * FROM rt ORDER BY gid DESC;
mysql> SELECT *, WEIGHT() FROM test1 WHERE MATCH('"document one"/1');
mysql> SHOW META;
mysql> SET profiling=1;
mysql> SELECT * FROM test1 WHERE id IN (1,2,4);
mysql> SHOW PROFILE;
mysql> SELECT id, id%3 idd FROM test1 WHERE MATCH('this is | nothing') GROUP BY idd;
mysql> SHOW PROFILE;
mysql> SELECT id FROM test1 WHERE MATCH('is this a good plan?');
mysql> SHOW PLAN;
mysql> SELECT COUNT(*) FROM test1;
mysql> CALL KEYWORDS ('one two three', 'test1');
mysql> CALL KEYWORDS ('one two three', 'test1', 1);
mysql> SHOW TABLES;

Ubuntu
  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 18.04

  2. Cara Menginstal dan Mengkonfigurasi Redmine di Ubuntu 18.04

  3. Cara Menginstal dan Mengonfigurasi Samba di Ubuntu 18.04

  1. Cara Menginstal dan Mengonfigurasi Redis di Ubuntu 20.04

  2. Cara Menginstal dan Mengonfigurasi Jenkins di Ubuntu 20.04

  3. Cara Menginstal dan Mengonfigurasi Askbot di Ubuntu 16.04

  1. Cara Menginstal dan Mengonfigurasi MongoDB di Ubuntu 14.04

  2. Cara menginstal dan mengkonfigurasi Solr 6 di Ubuntu 16.04

  3. Cara Menginstal dan Mengonfigurasi GitLab di Ubuntu 16.04