इस समय, समस्या के SQL भाग को नज़रअंदाज़ करते हुए, मैं जिस एल्गोरिथम का उपयोग करूंगा वह काफी सरल है:अपने शब्दकोश में प्रत्येक शब्द को लेकर शुरू करें, और एक पॉइंटर बैक के साथ क्रमबद्ध क्रम में अक्षरों के साथ इसका एक संस्करण तैयार करें। उस शब्द के मूल संस्करण के लिए।
यह प्रविष्टियों के साथ एक तालिका देगा जैसे:
sorted_text word_id
act 123 /* we'll assume `act` was word number 123 in the original list */
act 321 /* we'll assume 'cat' was word number 321 in the original list */
फिर जब हम एक इनपुट प्राप्त करते हैं (कहते हैं, "टीएसी") हम इसके अक्षरों को सॉर्ट करते हैं, इसे मूल शब्दों की तालिका में शामिल किए गए सॉर्ट किए गए अक्षरों की हमारी तालिका में देखते हैं, और इससे हमें उन शब्दों की एक सूची मिलती है जिनसे बनाया जा सकता है वह इनपुट।
अगर मैं ऐसा कर रहे थे, मेरे पास SQL डेटाबेस में इसके लिए टेबल होंगे, लेकिन शायद शब्द सूची को सॉर्ट किए गए फॉर्म में प्री-प्रोसेस करने के लिए कुछ और उपयोग करें। इसी तरह, मैं शायद फ्रंट-एंड बनाने के लिए जो कुछ भी उपयोग कर रहा था, उसके लिए उपयोगकर्ता के इनपुट के अक्षरों को सॉर्ट करना छोड़ दूंगा, इसलिए एसक्यूएल को वह करने के लिए छोड़ दिया जाएगा जो इसमें अच्छा है:रिलेशनल डेटाबेस प्रबंधन।