ठीक है, मैंने आखिरकार इसे समझ लिया। ऐसा लगता है कि मेरे पास पहले से ही 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`);