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

PHP में शब्द खोजते समय MySQL 5.6 पूर्ण पाठ खोज समस्या

ठीक है, मैंने आखिरकार इसे समझ लिया। ऐसा लगता है कि मेरे पास पहले से ही myisam स्टॉपवर्ड्स साफ़ हो गए थे, लेकिन इनोडब वाले नहीं। यह myisam की तुलना में थोड़ा लेकिन कठिन है, लेकिन यहां किसी और के लिए चरण दिए गए हैं जिन्हें इसकी आवश्यकता हो सकती है:

अपने /etc/my.cnf (या विंडोज़ पर my.ini) में इन पंक्तियों को जोड़ें:

स्टॉपवर्ड टेबल बनाएं। मैंने settings . नामक डीबी में अपना बनाया है और एक टेबल जिसे innodb-stopwords . कहा जाता है . आप केवल innodb_ft_enable_stopword = 0 . सेट नहीं कर सकते , आपको एक टेबल बनाना और लिंक करना होगा।

सुनिश्चित करें कि आपकी तालिका innodb है और value . नामक कॉलम जोड़ें , वर्कर (?), utf8_general_ci. आप इसे खाली छोड़ सकते हैं या तालिका में मान जोड़ सकते हैं।

innodb_ft_enable_stopword = 1  
innodb_ft_server_stopword_table = settings/innodb-stopwords

अपने mysql सर्वर को पुनरारंभ करें।

अपनी पूर्ण-पाठ अनुक्रमणिका छोड़ें और पुन:बनाएँ।

यदि आप सर्वर को पुनरारंभ नहीं करना चाहते हैं, तो आप गतिशील रूप से चर सेट कर सकते हैं (अगले सर्वर पुनरारंभ के लिए cnf/ini फ़ाइल भी अपडेट करें)

--innodb_ft_enable_stopword=1
--innodb_ft_server_stopword_table=db_name/table_name

मुझे अनुक्रमणिका को फिर से बनाने के लिए कोई समाधान नहीं दिख रहा है... आप इसे एक कमांड में कर सकते हैं, हालांकि तालिका पूरे समय बंद रहती है और आपके उपयोगकर्ताओं को त्रुटियाँ नहीं मिलती हैं:

ALTER TABLE `tablename` DROP INDEX indexname, ADD FULLTEXT(`columnname`);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे सुरक्षित रूप से mysql के लिए php में इनपुट डेटा से बचने के लिए

  2. अलग-अलग कॉलम में एक ही टेबल में SUM () और COUNT () के साथ टेबल को कैसे अपडेट करें?

  3. क्या MySQL में एक टेबल छोड़ने से इंडेक्स भी गिर जाता है?

  4. mysql प्रॉक्सी मोज़े

  5. मैसकल वर्कबेंच जीयूआई में टेबल कंटेंट कैसे देखें?