Những gì bạn có thể làm là tạo một cột khác trong cơ sở dữ liệu của mình với chỉ mục tìm kiếm toàn văn bản, cột mới này phải có chuỗi đảo ngược của cột mà bạn đang cố gắng tìm kiếm và bạn sẽ đảo ngược truy vấn tìm kiếm và sử dụng nó để tìm kiếm trên cột đã đảo ngược, đây là cách truy vấn sẽ trông như thế nào:
SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
-
điều kiện đầu tiên
MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE)
ví dụ:reversedColumn1==>Jmaes
$reveresedkey*==>ames*
sẽ tìm kiếm các từ bắt đầu bằng ames ==> không khớp -
điều kiện giây
MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
ví dụ:reversedColumn1==>semaJ
$reveresedkey*==>sema*
sẽ tìm kiếm các từ kết thúc bằng ames ==> chúng ta có một kết quả phù hợp
Đây có thể là một ý tưởng không tồi nếu văn bản của bạn ngắn: