ज़रूर - यह काम करना आसान है। यदि आपको केवल Sphinx के लिए अपनी स्वयं की आईडी बनाने की आवश्यकता है और आप नहीं चाहते कि वे टकराएं, तो आप अपने sphinx.conf (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
}
एकमात्र समस्या यह है कि आपको अभी भी यह जानने का एक तरीका चाहिए कि आपकी खोज से कौन से रिकॉर्ड मेल खाते थे। स्फिंक्स आईडी (जो अब अर्थहीन है) और आपके द्वारा "विशेषताओं" के रूप में चिह्नित किए गए किसी भी कॉलम को लौटा देगा।
Sphinx 0.9.10 और इसके बाद के संस्करण खोज परिणामों के हिस्से के रूप में आपको अपना उत्पाद कोड वापस करने में सक्षम होंगे क्योंकि इसमें स्ट्रिंग विशेषताओं का समर्थन है।
0.9.10 अभी तक आधिकारिक रिलीज़ नहीं है लेकिन यह बहुत अच्छी लग रही है। ऐसा लगता है कि Zawodny इसे क्रेग की सूची में चला रहा है इसलिए मैं इस सुविधा पर भरोसा करने को लेकर बहुत नर्वस नहीं होऊंगा।