Thai Fulltext Plugin for MySQL/MariaDB
อ้างถึง http://th.lug.wikia.com/wiki/Tlwg_todo_list, http://th.lug.wikia.com/wiki/Tlwg_todo_list, https://bact.cc/2008/mysql-thai-full-text-parser-plug-in-idea/ มีความต้องการ Full Text Search Engine บน MySQL/MariaDB แต่ว่าภาษาไทยต้องการการตัดคำและในขณะนั้น (เกือบ 10 ปีที่แล้ว) ระบบการตัดคำภาษาไทยยังไม่มีมาตรฐาน
แต่ตอนนี้เรามีแล้วคือ (libthai)[https://github.com/tlwg/libthai] ของ TLWG จึงเป็นโอกาสอันดีที่จะลองทำ
ดาวน์โหลดได้จาก https://github.com/pruet/thaift_parser/tree/master/binary/ จะคอมไพล์มาสำหรับ x86_64 บน Ubunt/Debian แต่เดาว่าคงใช้กับ Linux ตัวอื่น ๆ ได้
วิธีการติดตั้งคือ หลังจากดาวน์โหลดมาแล้ว ก็เปลี่ยนชื่อเป็น libpluginthaift.so เอาไปใส่ใน PLUGIN_DIR ของ MySQL เสร็จแล้วอาจจะต้องแก้ File Permission/ACL/SELinux/AppArmor เพื่อให้ MySQL สามารถเข้าไปใช้งานได้
ต้องมี libthai/libthai-data ติดตั้งอยู่ในเครื่องถึงจะทำงานได้
ต้องมี Source code ของ MySQL 5.7 และควรจะ clone ลงไปยังdirection MYSQL_SOURCE/plugin/fulltext/ แล้วทำการแก้ไขไฟล์ CMakeLists.txt โดยเพิ่มสามบรรทัดนี้เข้าไปเพื่อให้สามารถคอมไพล์ไปพร้อม ๆ กับ MySQL
MYSQL_ADD_PLUGIN(thaift_parser ./thaift_parser/plugin_thaift.cc
MODULE_ONLY MODULE_OUTPUT_NAME "libpluginthaift")
TARGET_LINK_LIBRARIES(thaift_parser "thai")
กรุณาอ่าน http://dev.mysql.com/doc/refman/5.7/en/fulltext-fine-tuning.html และ http://dev.mysql.com/doc/refman/5.7/en/fulltext-fine-tuning.html
ก่อนใช้งาน ต้องโหลดปลั๊กอินก่อน โดยต่อเข้าไปยัง MySQL โดยใช้ client เช่น mysql แล้ว query ด้วย
install plugin thaift_parser soname 'libpluginthaift.so'
ทำครั้งเดียวพอ วันหลังมันจะโหลดให้เอง การใช้งาน ลองไปดูตัวอย่างที่ (post นี้) [https://medium.com/@vsatayamas/full-text-search-%E0%B8%A0%E0%B8%B2%E0%B8%A9%E0%B8%B2%E0%B9%84%E0%B8%97%E0%B8%A2-%E0%B9%83%E0%B8%99-mysql-ad90940c4234#.4ofqmwxpz]