ស្វែងយល់ពី Full Text Search នៅក្នុង MySQL (វគ្គ១)

ជាធម្មតា គេប្រើ LIKE  ឬ Regular Expression ដើម្បីស្វែងរកទិន្នន័យនៅក្នុង MySQL ។ តែនៅពេលចំនួន Record កាន់តែច្រើន ការស្វែងរក(Search) មានការលំបាក ដូចជា បញ្ហាល្បឿន (Performance) បញ្ហាបង្ហាញទិន្នន័យណាដែលត្រូវជាងគេ ជាដើម ។ដោយសារការជួបបញ្ហា ទាំងនោះ ជាហេតុធ្វើឲ្យ MySQL បង្កើតឡើងនូវលក្ខណៈពិសេសថ្មីមួយហៅថា Full-Text-Search

ការកំណត់ Full Text Index នៅក្នុងតារាង (Table) ត្រូវតែដាក់មុនពេលដំណើរការ Full Text Search ។ Full Text Index គឺជាប្រភេទនៃ Index ដែលមានឈ្មោះថា FULLTEXT ។ នៅពេលបង្កើតតារាង (Table) ថ្មីមួយ ដោយប្រើ CREATE TABLE Statement ឬកែប្រែតារាងដោយប្រើ ALTER TABLE Statement អ្នកអាចកំណត់ FULLTEXT សំរាប់កូឡោនណាមួួយ (Column) ។

ឧទាហរណ៍៖ ការកំណត់ FULLTEXT នៅពេលបង្កើតតារាង (Table) ដោយប្រើ CREATE TABLE Statement

CREATE TABLE table_name(
 column1 data_type, 
        column2 data_type,
        column3 data_type,
 …
PRIMARY_KEY(key_column),
FULLTEXT (column1,column2,..)
);

full-text-search_create_table

យោងតាម Statement ខាងលើ តារាង (Table) មួយ ត្រូវបានបង្កើតឡើង មានឈ្មោះ users ដែលបានកំណត់ FULLTEXT សំរាប់ address column ។

ប្រសិនបើតារាង(Table) user មិនបានកំណត់ FULLTEXT នៅពេលបង្កើតនោះទេ អ្នកអាចកែប្រែ តារាង ដែលមានស្រាប់នោះបាន ដោយប្រើ ALTER TABLE Statement ។

ALTER TABLE  table_name  
ADD FULLTEXT(column_name1, column_name2,…)

full-text-search_alter_table

មានមធ្យោបាយម៉្យាងទៀត គឺគ្រាន់តែចូលទៅកាន់ PHP MyAdmin ហើយចុចលើ FullText នៃ Column ដែលចង់កំណត់ FULLTEXT ជាការស្រេច។ ដើម្បពិនិត្យមើលថា តើ address column ដែលបានកំណត់ FULLTEXT មែនអត់ អ្នកអាចចូលមើល ដូចរូបខាងក្រោម៖

full-text-search_alter_table_

បន្ថែមលើសពីនេះទៅទៀត អ្នកអាចកំណត់ FULLTEXT ទៅលើតារាងដែលមានស្រាប់ ដោយប្រើ CREATE INDEX Statement ។

CREATE FULLTEXT INDEX index_name
ON table_name(index_column_name,...)

full-text-search_create_fulltext_index

ក្រោយពីកំណត់ FULLTEXT រួច អ្នកក៏អាចលុប FULLTEXT បានដែរ ដោយប្រើ ALTER TABLE ហើយ DROP INDEX Statement ដូចខាងក្រោម៖

full-text-search_alter_drop_index

FULL TEXT SEARCH ត្រូវបានចែកចេញជា ៣ ប្រភេទ៖

  • Natural Language Full Text Search
  • Boolean Full Text Search
  • Query Expansion Search