Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक auto_increment आईडी का उपयोग किए बिना स्फिंक्स

ज़रूर - यह काम करना आसान है। यदि आपको केवल 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 इसे क्रेग की सूची में चला रहा है इसलिए मैं इस सुविधा पर भरोसा करने को लेकर बहुत नर्वस नहीं होऊंगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक ही कॉलम में विदेशी कुंजियों का संदर्भ देना

  2. MySQL डेटाबेस में URL स्टोर करने के लिए सबसे अच्छा डेटाटाइप क्या है?

  3. यादृच्छिक नामों की तालिका से एसक्यूएल अपडेट

  4. किन उपयोगकर्ताओं ने किन लिंक्स पर क्लिक किया है, इस पर नज़र रखने के लिए एक डेटाबेस स्थापित करना?

  5. अजगर के माध्यम से अजगर शब्दकोश को mysql डीबी में कैसे स्टोर करें?