Cara Menginstal dan Mengkonfigurasi Sphinx di Ubuntu 16.04, 14.04

Cara Menginstal dan Mengkonfigurasi Sphinx di Ubuntu 16.04, 14.04

Sphinx adalah server pencarian teks lengkap sederhana, relevansi dan open source. Ini ditulis dalam bahasa pemrograman C ++ dan bekerja dengan Linux dan sistem operasi populer lainnya. Tutorial ini akan membantu Anda menginstal dan mengonfigurasi server pencarian teks lengkap SPHINX di Ubuntu 16.04, 14.04 Sistem Operasi LTS.

Prasyarat

Sebelum Anda memulai panduan ini, Anda harus memiliki pengikut.

  • Server ubuntu dengan akses sudo
  • Pra terinstal server mysql

Langkah 1 - Instal Sphinx

Menginstal Sphinx di Ubuntu mudah karena ada di repositori paket asli. Instal menggunakan manajer paket apt-get 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 impor file SQL sampel ke dalam database.Pertama, buat database bernama tes di server mysql Anda, setelah itu mengembalikan database yang disediakan oleh paket pencarian sphinx.

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

Langkah 3 - Konfigurasikan Sphinx

Edit Konfigurasi Sphinx Seperti di bawah ini dan edit untuk konfigurasi koneksi MySQL seperti yang ditampilkan di bawah ini.

sudo vi/etc/sphinxsearch/sphinx.conf 
Sumber Src1  # Jenis Sumber Data. wajib, tidak ada nilai default#tipe yang diketahui adalah mysql, pgsql, mssql, xmlpipe, xmlpipe2, odbc type = mysql ###################################################################### ######################################### ## pengaturan sql (untuk 'mysql Jenis 'dan' PGSQL ') ########################################### ###########################beberapa parameter langsung untuk jenis sumber SQL sql_host = localhost sql_user = root sql_pass = rahasia sql_db = tes sql_port = 3306# Opsional, default adalah 3306 

Langkah 4 - Menjalankan Indeks

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 -semua sphinx 2.2.11-ID64-RELEASE (95AE9A6) Hak Cipta (C) 2001-2016, Andrew Aksyonoff Hak Cipta (C) 2008-2016, Sphinx Technologies Inc (http: // sphinxsearch.com) menggunakan file konfigurasi '/etc/sphinxsearch/sphinx.conf '… indexing index' test1 '… dikumpulkan 4 dokumen, 0.0 MB diurutkan 0.0 mhits, 100.0% dilakukan Total 4 Docs, 193 byte Total 0.006 dtk, 30791 byte/dtk, 638.16 Docs/Sec Indexing Index 'Test1StemMed'… dikumpulkan 4 dokumen, 0.0 MB diurutkan 0.0 mhits, 100.0% dilakukan Total 4 Docs, 193 byte Total 0.001 dtk, 99382 byte/dtk, 2059.73 dokumen/detik melewatkan indeks non-plain 'dist1' ... melewatkan indeks non-dot 'rt'… total 8 baca, 0.000 detik, 0.1 kb/panggilan rata -rata, 0.0 msec/panggilan rata -rata total 24 menulis, 0.000 detik, 0.1 kb/panggilan rata -rata, 0.0 msec/panggilan rata -rata 

Langkah 5 - Memulai Sphinx

Juga, konfigurasikan server sphinx Anda untuk memulai secara otomatis pada boot sistem. Gunakan perintah di bawah untuk mengatur mulai ya.

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

Sekarang juga mulai layanan untuk pertama kalinya dan periksa statusnya.

Layanan SPHINXSEARCH MULAI LAYANAN 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/pengindeks -rotate --all 

Langkah 6 - Bekerja dengan Sphinx

Mari kita jalankan beberapa pertanyaan di server sphinx Anda. Pertama terhubung ke server sphinx mysql menggunakan ocmmand berikut.

mysql -h0 -p9306 

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

mysql> pilih * dari test1 di mana cocok ('dokumen'); mysql> masukkan ke dalam nilai RT (1, 'menambahkan', 'contoh teks di sini', 11); mysql> masukkan ke dalam nilai RT (2, 'menambahkan beberapa lagi', 'Contoh teks di sini', 22); MySQL> SELECT GID/11 DARI RT WHERE GROUP ('Sampel') oleh GID; mysql> pilih * dari rt order oleh gid desc; mysql> pilih *, bobot () dari test1 di mana cocok ('"dokumen satu"/1'); mysql> show meta; mysql> atur profil = 1; mysql> pilih * dari test1 di mana id in (1,2,4); MySQL> Tampilkan profil; MySQL> SELECT ID, ID%3 IDD DARI TEST1 WHERE MATCH ('This is | Nothing') Grup oleh IDD; MySQL> Tampilkan profil; mysql> pilih id dari test1 di mana cocok ('apakah ini rencana yang bagus?'); mysql> Rencana Tampilkan; mysql> pilih count (*) dari test1; MySQL> Call Keywords ('One Two Three', 'Test1'); MySQL> Call Keywords ('One Two Three', 'Test1', 1); mysql> tabel show;