Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengintegrasikan Sphinx ke MySQL

Tidak bisa melakukan itu. Sphinx (bila diaktifkan untuk sphinxQL) hanya memberi Anda server yang terlihat seperti satu mysql - yaitu menggunakan protokol komunikasi yang sama - terutama sehingga hanya dapat menggunakan kembali perpustakaan klien mysql, daripada harus membuat yang baru hanya untuk sphinx.

Mereka adalah 'server' yang berbeda. Anda terhubung ke server mysql untuk menjalankan perintah mysql; Anda terhubung ke server sphinx untuk menjalankan perintah sphinxQL.

Aplikasi harus terhubung ke setiap 'server' secara terpisah. Bayangkan sphinx adalah sesuatu seperti postgres, Anda jelas tidak terhubung ke mysql dan berharap dapat menjalankan postgresql.

Namun ada SphinxSE - yang merupakan mesin penyimpanan mysql palsu. Anda menginstalnya ke mysql, dan Anda kemudian dapat membuat tabel menggunakan mesin ini. Kemudian Anda menjalankan kueri mysql terhadap tabel ini, di bawah tenda ada kontak dengan server sphinx yang sedang berjalan. Jadi untuk mysql terlihat seperti tabel yang berisi data, ini paling berguna karena kemudian bisa 'bergabung' dengan tabel pencarian ini dengan tabel data asli untuk mendapatkan hasil dan data asli dalam satu query mysql.

Aplikasi kemudian tidak harus terhubung ke sphinx itu sendiri. SphinxSE melakukannya untuk Anda.

http://sphinxsearch.com/docs/current.html#sphinxse

Tidak. Anda menyimpan data asli di tempatnya, menggunakan mesin apa pun yang Anda suka. Sphinx hanya menyediakan 'indeks' - tidak menyimpan data asli*. Ini bukan database seperti itu, hanya menyediakan kueri cepat dengan pengindeksan yang sangat optimal.

Pada dasarnya Anda meminta sphinx untuk id unik dokumen yang cocok dengan kueri tertentu. Kemudian gunakan id tersebut untuk mencari data. SphinxAPI, sphinxSE dan sphinxQL hanyalah tiga mekanisme berbeda untuk melakukan itu.

Tidak. Satu instance sphinx dapat menampung banyak indeks. Dan indeks dapat memiliki banyak sumber. Jadi bisa saja membuat satu indeks per tabel. Atau jika Anda ingin mencarinya bersama-sama, cukup buat satu indeks gabungan.

--** Edit untuk membalas pertanyaan di komentar:**

Anda mungkin akan menentukan satu indeks sphinx per tabel. Jadi, Anda memerlukan pasangan sumber/indeks untuk setiap tabel. (kecuali jika Anda ingin mengindeks semua tabel dalam satu indeks, yang mungkin juga.

Itu tidak bisa membaca tabel itu sendiri, dan membuat file konfigurasi, Anda harus mendefinisikan setiap indeks satu per satu.

Tidak. Bukan proxy.

Pada dasarnya ya. Klien akan terhubung dengan cara yang sama seperti terhubung ke server mysql.

Tidak mustahil. Hubungkan ke server mysql, untuk menjalankan kueri mysql. Hubungkan ke searchd untuk menjalankan kueri sphinxQL.

Dua koneksi, satu per server.

Tidak tahu. Mungkin masalah firewall.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mendapatkan rata-rata dengan orderBy Desc di Laravel 5

  2. Bagaimana Menggabungkan / Menggabungkan dua tabel saat mengekspor data Mysql ke Unduhan Excel?

  3. Mengapa menggunakan InnoDB melalui MySIAM

  4. Mysql di mana 1 =0 kebingungan

  5. Bisakah pemicu MySQL mensimulasikan batasan CHECK?