কম্পিউটার টিউটোরিয়াল

MySQL-এ ফুল টেক্সট সার্চিংয়ের জন্য সার্চ ফিচার সেট আপ

এই কাজের জন্য FULLTEXT সার্চ ইন্ডেক্স ব্যবহার করুন। ফুল-টেক্সট সার্চিং MATCH()...AGAINST সিনট্যাক্স ব্যবহার করে করা হয়।

প্রথমে একটি টেবিল তৈরি করা যাক:

mysql> create table DemoTable1542 ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar(20) ); Query OK, 0 rows affected (2.16 sec)

ফুলটেক্সট সার্চ ইন্ডেক্স তৈরির কোয়েরি:

mysql> create fulltext index search_name on DemoTable1542(Name); Query OK, 0 rows affected, 1 warning (10.51 sec) Records: 0 Duplicates: 0 Warnings: 1

ইনসার্ট কমান্ড ব্যবহার করে টেবিলে কিছু রেকর্ড যোগ করুন:

mysql> insert into DemoTable1542(Name) values('John Doe'); Query OK, 1 row affected (0.31 sec)
mysql> insert into DemoTable1542(Name) values('Chris Brown'); Query OK, 1 row affected (0.29 sec)
mysql> insert into DemoTable1542(Name) values('John Smith'); Query OK, 1 row affected (0.46 sec)
mysql> insert into DemoTable1542(Name) values('Adam Smith'); Query OK, 1 row affected (4.71 sec)

সিলেক্ট স্টেটমেন্ট ব্যবহার করে টেবিল থেকে সকল রেকর্ড প্রদর্শন করুন:

mysql> select * from DemoTable1542;

এটি নিম্নলিখিত আউটপুট দেবে:

+----+-------------+
| Id | Name |
+----+-------------+
| 1 | John Doe |
| 2 | Chris Brown |
| 3 | John Smith |
| 4 | Adam Smith |
+----+-------------+
4 rows in set (0.04 sec)

MATCH...AGAINST ব্যবহার করে ফুলটেক্সট সার্চের কোয়েরি:

mysql> select * from DemoTable1542 where match(Name) against('John' in boolean mode);

এটি নিম্নলিখিত আউটপুট দেবে:

+----+------------+
| Id | Name |
+----+------------+
| 1 | John Doe |
| 3 | John Smith |
+----+------------+
2 rows in set (0.03 sec)
  1. MySQL에서 ^(캐럿) 문자가 포함된 컬럼명 찾기 (INFORMATION_SCHEMA 활용)

  2. MySQL-এ IF() ফাংশন দিয়ে NOT NULL মান માટે ১ এবং NULL জন্য ০ দেখানো

  3. MySQL-এ ENUM টাইপ ব্যবহার করে কলাম মান সীমাবদ্ধ করা

  4. MySQL-এ REGEXP_INSTR ব্যবহার করে সার্চ কোয়েরি করা