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

Sphinx tanpa menggunakan id auto_increment

Tentu - itu mudah untuk diatasi. Jika Anda perlu membuat ID Anda sendiri hanya untuk Sphinx dan Anda tidak ingin mereka bertabrakan, Anda dapat melakukan sesuatu seperti ini di sphinx.conf Anda (kode contoh untuk MySQL)

source products {

  # Use a variable to store a throwaway ID value
  sql_query_pre = SELECT @id := 0 

  # Keep incrementing the throwaway ID.
  # "code" is present twice because Sphinx does not full-text index attributes
  sql_query = SELECT @id := @id + 1, code AS code_attr, code, description FROM products

  # Return the code so that your app will know which records were matched
  # this will only work in Sphinx 0.9.10 and higher!
  sql_attr_string = code_attr  
}

Satu-satunya masalah adalah Anda masih memerlukan cara untuk mengetahui catatan apa yang cocok dengan pencarian Anda. Sphinx akan mengembalikan id (yang sekarang tidak berarti) ditambah kolom apa pun yang Anda tandai sebagai "atribut".

Sphinx 0.9.10 dan di atasnya akan dapat mengembalikan kode produk Anda kepada Anda sebagai bagian dari hasil pencarian karena memiliki dukungan atribut string.

0.9.10 belum merupakan rilis resmi tetapi terlihat bagus. Sepertinya Zawodny menjalankannya di Daftar Craig jadi saya tidak akan terlalu gugup untuk mengandalkan fitur ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dua Nilai yang Dihasilkan dalam Ajaran

  2. mysqli atau mati, apakah harus mati?

  3. Apa cara termudah untuk mengekstrak tanggal mulai dan berakhir sprint dari JIRA db?

  4. Hasil basi kronis menggunakan MySQLdb dengan Python

  5. Bagaimana cara menghasilkan serangkaian rata-rata per jam di MySQL?