2012-06-08 15 views
5

मेरे पास शब्दों की सूची वाला एक टेबल है।mysql आंशिक अनुक्रमणिका, रिवर्स इंडेक्सिंग

शब्द VARCHAR (16)

मैं एक रिवर्स सूचकांक बनाना होगा। अर्थात। शब्द "सेब" इंडेक्स "elppa" के रूप में, "केला" शब्द "ananab" के रूप में और इसी तरह के रूप में होगा।

इसके अलावा, शब्द का एक हिस्सा इंडेक्स करना संभव है?

pple (सेब) अनान (केले)

इन बातों को संभव हो रहे हैं: जैसे, प्रथम/अंतिम 1 या 2 वर्ण छोड़?

+0

रिवर्स टेक्स्ट के साथ एक नया कॉलम जोड़ें और इंडेक्स बनाएं। – Scoutman

उत्तर

5

आप एक क्षेत्र है कि उपसर्ग लंबाई द्वारा सीमित है, जिसका अर्थ है कि केवल पहली n पात्रों पर विचार किया जाएगा पर एक सूचकांक बना सकते हैं, आप इसे एक मनमाना आरंभ और अंत स्थिति के साथ हालांकि ऐसा नहीं कर सकते। Mysql के CREATE INDEX प्रलेखन पृष्ठ पर इसके बारे में और पढ़ें।

इस मामले में मैं सिर्फ एक और कॉलम बनाउंगा, mysql के REVERSE फ़ंक्शन को भरने और उस पर एक अनुक्रमणिका बनाने के लिए उपयोग करें, इस तरह आपको मूल शब्द के विपरीत के लिए खोज करने के लिए एक फ़ील्ड मिलता है।

ऐसे Postgresql रूप

अन्य डाटाबेस index an expression, जो प्रभावी रूप से अतिरिक्त स्तंभ बनाए बिना सूचकांक reverse(col_name) करने के लिए आप की अनुमति होगी करने के लिए आप की अनुमति है। तो यह संभव है, अभी MySQL के साथ नहीं। (चूंकि संस्करण 9 potgresql में रिवर्स() मूल है, मुझे विश्वास है)

संबंधित मुद्दे