Tôi nghĩ bạn có thể dễ dàng giải quyết vấn đề này bằng cách tạo CHỈ SỐ VĂN BẢN ĐẦY ĐỦ trên KWD
của bạn cột. Sau đó, bạn có thể sử dụng CONTAINS
truy vấn để tìm kiếm các cụm từ. Chỉ mục FULL TEXT sẽ tự động xử lý dấu câu và bỏ qua dấu phẩy.
-- If search text is = Man,Businessman then the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND "Businessman"')
-- If search text is = Man,-Businessman then the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"Man" AND NOT "Businessman"')
-- If search text is = woman,girl,-Working the query will be
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "girl" AND NOT "working"')
Để tìm kiếm nhiều từ (như mobile phone
trong trường hợp của bạn) sử dụng các cụm từ được trích dẫn:
SELECT AS_ID FROM tbl_main
WHERE CONTAINS(KWD, '"woman" AND "mobile phone"')
Như đã nhận xét bên dưới, các cụm từ được trích dẫn rất quan trọng trong tất cả các tìm kiếm để tránh các tìm kiếm không tốt trong trường hợp ví dụ:khi cụm từ tìm kiếm là "máy tính bảng đang hoạt động" và giá trị KWD là woman,girl,Digital Tablet,working,sitting,online
Có một trường hợp đặc biệt cho một -
cụm từ tìm kiếm. NOT không thể được sử dụng làm thuật ngữ đầu tiên trong CONTAINS. Do đó, nên sử dụng truy vấn như thế này:
-- If search text is = -Working the query will be
SELECT AS_ID FROM tbl_main
WHERE NOT CONTAINS(KWD, '"working"')