MySQL में एक टेबल में संग्रहीत शब्दों को किसी बड़े टेक्स्ट में खोजने के लिए LIKE ऑपरेटर के साथ CONCAT() फ़ंक्शन का उपयोग करें। यह पैटर्न डायनामिक कीवर्ड खोज, सामग्री फ़िल्टरिंग, या टैग मिलान के लिए उपयोगी है।
सिंटैक्स
SELECT keyword_column FROM keyword_table
WHERE 'search_text' LIKE CONCAT('%', keyword_column, '%');
व्यावहारिक उदाहरण
कीवर्ड टेबल बनाएं:
mysql> CREATE TABLE DemoTable1316 (Value VARCHAR(40));
mysql> INSERT INTO DemoTable1316 VALUES('MySQL');
mysql> INSERT INTO DemoTable1316 VALUES('Java');
mysql> INSERT INTO DemoTable1316 VALUES('MongoDB');
mysql> INSERT INTO DemoTable1316 VALUES('C++');
कीवर्ड देखें:
mysql> SELECT * FROM DemoTable1316;
+---------+ | Value | +---------+ | MySQL | | Java | | MongoDB | | C++ | +---------+
टेक्स्ट में कीवर्ड खोजने की क्वेरी
टेक्स्ट: "Deep Dive using Java is good for advanced knowledge, but not MySQL"
mysql> SELECT Value
-> FROM DemoTable1316
-> WHERE ('Deep Dive using Java is good for advanced knowledge, but not MySQL')
-> LIKE CONCAT('%', Value, '%');
परिणाम
+-------+ | Value | +-------+ | MySQL | | Java | +-------+
कैसे काम करता है
CONCAT('%', Value, '%')प्रत्येक कीवर्ड के लिए%MySQL%,%Java%आदि पैटर्न बनाता हैLIKEजांचता है कि खोज टेक्स्ट में वह पैटर्न मौजूद है या नहीं- मेल खाने वाले कीवर्ड परिणाम में लौटाए जाते हैं
केस-इनसेंसिटिव खोज (डिफ़ॉल्ट)
MySQL का डिफ़ॉल्ट कोलेशन केस-इनसेंसिटिव होता है, इसलिए java, Java, JAVA सभी मेल खाएंगे।
केस-सेंसिटिव खोज के लिए
WHERE 'search_text' LIKE CONCAT('%', Value, '%') COLLATE utf8mb4_bin
प्रदर्शन विचार
- बड़े कीवर्ड टेबल के लिए यह फुल टेबल स्कैन करता है
- फुल-टेक्स्ट खोज (
MATCH() ... AGAINST()) बड़े डेटासेट के लिए तेज़ है - छोटे-मध्यम कीवर्ड सूचियों (सैकड़ों तक) के लिए यह तरीका सरल और प्रभावी है
विस्तार: मिलान की स्थिति भी प्राप्त करें
SELECT Value,
LOCATE(Value, 'Deep Dive using Java is good for advanced knowledge, but not MySQL') AS Position
FROM DemoTable1316
WHERE 'Deep Dive using Java is good for advanced knowledge, but not MySQL' LIKE CONCAT('%', Value, '%');
यह तकनीक सामग्री मॉडरेशन, ऑटो-टैगिंग, कीवर्ड हाइलाइटिंग, और खोज सुझाव प्रणालियों में व्यापक रूप से उपयोग की जाती है।