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.