ស្វែងយល់ពី Full Text Search នៅក្នុង MySQL (វគ្គបញ្ចប់)
ក្នុងអត្ថបទមុនៗ បានបង្ហាញនូវការប្រើ Full Text Search BOOLEAN FULL TEXT SEARCH និង NATURAL LANGUAGE FULL TEXT SEARCH ចំនួនពីររួចមកហើយ ។ ក្នុងអត្ថបទនេះដែរ នឹងបង្ហាញប្រភេទនៃ Full Text Search ចុងក្រោយ ហៅថា Query Expansion ។ Query 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 មានទិន្នន័យដូចខាងក្រោម៖
យោងទៅតាមជំហានដែលរៀបរាប់ខាងលើ ជាដំបូង Query Expansion នឹងស្វែងរកទិន្នន័យ គ្រប់ Row ទាំងអស់ដែលទាក់ ទងនឹងពាក្យគន្លឹះ របស់អ្នកប្រើប្រាស់ ។
SELECT * FROM `users` WHERE MATCH(description) AGAINST('company')
វានឹងបង្ហាញលទ្ធផលដូចខាងក្រោម៖
ជំហានបន្ទាប់ វានឹងត្រួតពិនិត្យគ្រប់ Row ទាំងអស់ដោយស្វែងរកពាក្យ ដែលមានតំលៃប្រហាក់ប្រហែល ចុងក្រោយ គឺប្រើ Query Expansion ដើម្បីស្វែងរកទិន្នន័យ។ ដូច្នេះ ទិន្នន័យ អាចនឹងមានច្រើន ជាងជំហានទីមួយ ព្រោះវាប្រើពាក្យដែលមាន តំលៃប្រហាក់ប្រហែល ក្នុងការស្វែងរកបន្ថែម។
SELECT * FROM `users` WHERE MATCH(description) AGAINST('company' WITH QUERY EXPANSION)
ចុងក្រោយ លទ្ធផលនឹងបង្ហាញនូវទិន្នន័យដែលមិនពាក់ពន្ធ័ផងដែរ ។ និយាយជារួម វាមានអត្ថប្រយោជន៍ ចំពោះការស្វែងរកទិន្នន័ដោយប្រើពាក្យគន្លឹះខ្លីៗ ប៉ុណ្ណោះ ។
សរុបរួម៖ ការប្រើប្រាស់ Full Text Search មានអត្ថប្រយោជន៍ច្រើន ស្របទៅតាមតំរូវការជាក់ស្តែង ក្នុងការស្វែងរក ទិន្នន័យ ដែលអ្នកប្រើប្រាស់ចង់បាន ។ ម្យ៉ាងវិញទៀត វាបានជួយឲ្យការស្វែងរកទិន្នន័យ មានភាពសុក្រិត និងដំណើរការ ឆាប់រហ័ស ដែលអ្នកសរសេរកម្មវិធី (Programmer) គួរដឹង និងអនុវត្ត។