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

ក្នុងអត្ថបទមុនៗ បានបង្ហាញនូវការប្រើ Full Text Search BOOLEAN FULL TEXT SEARCH  និង NATURAL LANGUAGE FULL TEXT SEARCH ចំនួនពីររួចមកហើយ ។ ក្នុងអត្ថបទនេះដែរ នឹងបង្ហាញប្រភេទនៃ Full Text Search ចុងក្រោយ ហៅថា Query ExpansionQuery Expansion ជួយឲ្យអ្នកប្រើប្រាស់ស្វែងរក ទិន្នន័យដែលចង់បាន ផ្អែកលើចំនេះដឹងដែលមាន ដោយសរសេរ Keyword ខ្លីៗប៉ុណ្ណោះ តែយ៉ាងណា វាបង្ហាញទិន្នន័យ ដែលមាន តំលៃប្រហាក់ ប្រហែលមកផងដែរ ។

 

QUERY EXPANSION

Query Expansion ត្រូវបានគេសំរាប់ជួយឲ្យអ្នកប្រើប្រាស់ អាចប្រើចំនេះដឹងរបស់ខ្លួនក្នុងការស្វែងរកទិន្នន័យ ដោយសរសេរ ពាក្យគន្លឹះ (Keyword) ខ្លីៗតែប៉ុណ្ណោះ ។ ស្របពេលជាមួយគ្នានោះ វានឹងដំណើរការ ៣ជំហាន មុននឹងបង្ហាញលទ្ធផលចេញមកក្រៅ ។ ជំហានទាំងនោះ មានដូចជា៖

  • ដំបូង វានឹងស្វែងរកទិន្នន័យ គ្រប់ Row ទាំងអស់ដែលទាក់ទងនឹងពាក្យគន្លឹះ របស់អ្នកប្រើប្រាស់ ។
  • ជំហានបន្ទាប់មក វានឹងត្រួតពិនិត្យគ្រប់ Row ទាំងអស់ដោយស្វែងរកពាក្យដែលមានតំលៃប្រហាក់ប្រហែល ។
  • ចុងក្រោយ វានឹងដំណើរការស្វែងរកម្តងទៀត ដោយពឹងផ្អែកលើពាក្យ ដែលមានតំលៃប្រហាក់ប្រហែល ដែលរកឃើញ ជំនួសពាក្យគន្លឹះរបស់អ្នកប្រើប្រាស់

ដើម្បីប្រើ Query Expansion អ្នកប្រើប្រាស់នូវ WITH QUERY EXPANSION នៅក្នុង AGAINST() ។ នេះជាទំរង់នៃ Syntax របស់ Query Expansion :

SELECT * FROM table_name WHERE MATCH(column_1, column_2)
AGAINST('search terms' WITH QUERY EXPANSION)

ឧទាហរណ៍: នៅក្នុងតារាង(table) user មានទិន្នន័យដូចខាងក្រោម៖

full-text-search_user_table_data_

យោងទៅតាមជំហានដែលរៀបរាប់ខាងលើ ជាដំបូង Query Expansion នឹងស្វែងរកទិន្នន័យ គ្រប់ Row ទាំងអស់ដែលទាក់ ទងនឹងពាក្យគន្លឹះ របស់អ្នកប្រើប្រាស់ ។

SELECT * FROM `users` WHERE MATCH(description) AGAINST('company')

វានឹងបង្ហាញលទ្ធផលដូចខាងក្រោម៖

full-text-search_user_table_data_1

ជំហានបន្ទាប់ វានឹងត្រួតពិនិត្យគ្រប់ Row ទាំងអស់ដោយស្វែងរកពាក្យ ដែលមានតំលៃប្រហាក់ប្រហែល ចុងក្រោយ គឺប្រើ Query Expansion ដើម្បីស្វែងរកទិន្នន័យ។ ដូច្នេះ ទិន្នន័យ អាចនឹងមានច្រើន ជាងជំហានទីមួយ ព្រោះវាប្រើពាក្យដែលមាន តំលៃប្រហាក់ប្រហែល ក្នុងការស្វែងរកបន្ថែម។

SELECT * FROM `users` 
WHERE MATCH(description) AGAINST('company' WITH QUERY EXPANSION)

ចុងក្រោយ លទ្ធផលនឹងបង្ហាញនូវទិន្នន័យដែលមិនពាក់ពន្ធ័ផងដែរ ។ និយាយជារួម វាមានអត្ថប្រយោជន៍ ចំពោះការស្វែងរកទិន្នន័ដោយប្រើពាក្យគន្លឹះខ្លីៗ ប៉ុណ្ណោះ ។

full-text-search_user_table_data_2

សរុបរួម៖ ការប្រើប្រាស់ Full Text Search មានអត្ថប្រយោជន៍ច្រើន ស្របទៅតាមតំរូវការជាក់ស្តែង ក្នុងការស្វែងរក ទិន្នន័យ ដែលអ្នកប្រើប្រាស់ចង់បាន ។ ម្យ៉ាងវិញទៀត វាបានជួយឲ្យការស្វែងរកទិន្នន័យ មានភាពសុក្រិត និងដំណើរការ ឆាប់រហ័ស ដែលអ្នកសរសេរកម្មវិធី (Programmer) គួរដឹង និងអនុវត្ត។