N-Gram: N-gram là kĩ thuật tách một chuỗi thành các chuỗi con, thông qua việc chia đều chuỗi đã có thành các chuỗi con đều nhau, có độ dài là N.
Morphological Analysis: Về cơ bản Morphological Analysis là một kĩ thuật phổ biến trong xử lý ngôn ngữ tự nhiên (Natural Language Processing). Tức là chúng ta sẽ tách chuỗi thành những từ có nghĩa.
Tạo fulltext search
ALTERTABLE table_name ADDFULLTEXT(column_name1, column_name2,…)CREATEFULLTEXTINDEX index_name ON table_name(idx_column_name,...)
Match...against
Một tính năng rất quan trọng trong việc xử lý tìm kiếm đó là sắp xếp kết quả trả về theo thứ tự: tài liệu nào giống nhiều nhất thì nằm trên cùng, giống ít nhất thì nằm dưới cùng.
Khi bạn sử dụng hàm MATCH() ở lệnh WHERE thì MySQL sẽ trả về giá trị có mức độ liên quan lên đầu tiên.
IN BOOLEAN MODE
Query Expansion
Tóm lai, bạn cần lưu ý những vấn đề sau khi làm việc với full text search trong MySQL:
Độ dài tối thiểu cho từ cần tìm là 4. Ví dụ bạn tìm từ "và" hoặc "tôi" thì mặc định MySQL sẽ xác định đó là những từ vô nghĩa. Vì trong tiếng Anh những từ có 3 chữ cái đều là vô nghĩa. Tuy nhiên bạn có thể mở file /etc/mysql/my.cnf và tìm đến dòng ft_min_word_len = 3 chỉnh lại số mong muốn.
Có một số từ Stop Words sẽ bị bỏ qua nằm trong file storage/myisam/ft_static.c. Bạn muốn thay đổi thì hãy vào file đó nhé.