सही उत्तर शायद पूर्ण पाठ खोज है।
हालाँकि, दो चेतावनी हैं। यदि आपके पास छोटे तार हैं, जैसे उत्पाद विवरण या उपयोगकर्ता टिप्पणियां, और like
का उपयोग करना चाहते हैं , आप ऐसा कुछ कर सकते हैं:
where concat(' ', txt, ' ') like concat('% ', $word, ' %')
हालांकि, यह मानता है कि सीमांकक रिक्त स्थान हैं। तो, यह "हैलो" नहीं मिलेगा। आप इसे निम्न करके ठीक कर सकते हैं:
where concat(' ', replace(txt, ',' ' '), ' ') like concat('% ', $word, ' %')
लेकिन आप जल्दी ही पाएंगे कि यह एक दर्द है। इसलिए:पूर्ण पाठ खोज।
दूसरा, यदि आप वास्तव में कीवर्ड स्टोर कर रहे हैं कॉलम में, तो समाधान सरल है। ऐसा मत करो। एक जंक्शन तालिका बनाएं जिसमें प्रति मूल तालिका पंक्ति में एक पंक्ति और प्रति कीवर्ड एक हो। SQL में सूचियों को स्ट्रिंग्स में संग्रहीत करना एक बुरा विचार है।