Tôi đang sử dụng FTS cho các truy vấn cơ sở dữ liệu của tôi để tăng tốc độ tìm kiếm như tôi cần phải tìm kiếm trong mô tả văn bản cũng có,Tìm kiếm trong nhiều cột sử dụng Full Text Search (FTS) với nhiều thẻ sử dụng toán tử OR
Khi tôi cố gắng để truy vấn sử dụng cột đơn làm việc tốt của nó như dưới đây
select * from productsearch where productsearch match ('prod_name:panasonic*tw*')
Và cũng có thể,
select * from productsearch where productsearch match ('prod_short_desc:samsung*s5*')
Vì vậy, trên cả các truy vấn cho tôi kết quả dự kiến nhưng khi tôi cố gắng để kết hợp cả hai truy vấn sử dụng OR
điều hành của nó không đem lại cho tôi bất kỳ kết quả
select * from productsearch where productsearch match ('prod_name:panasonic*tw* OR
prod_short_desc:samsung*s5*')
Vì vậy, tôi muốn biết nếu tôi làm điều gì sai trái ở đây trong khi sử dụng OR
điều hành để tìm kiếm nhiều cột
CẬP NHẬT
Truy vấn bên dưới hoạt động tốt nhưng không đáp ứng được yêu cầu của tôi,
select * from productsearch where productsearch match ('prod_name:panasonic* OR
prod_short_desc:samsung*')
Bạn có thể thấy rằng nếu tôi xóa nhiều mã thông báo thì cũng hoạt động tốt với toán tử OR
.
Câu hỏi hay :) –
Tôi không biết gì về FTS, nhưng ... bạn có thể thử: 'match ('prod_name: panasonic * tw *' OR 'prod_short_desc: samsung * s5 *')' (các chuỗi riêng biệt trong mệnh đề kết hợp tương tự) ** hoặc ** 'match ('prod_name: panasonic * tw *') HOẶC khớp ('prod_short_desc: samsung * s5 *')' (mệnh đề kết hợp riêng biệt)? –
@ FrankN.Stein đã thử cả hai, không hoạt động 1st cho tất cả kết quả có nghĩa là nó hoàn thành bỏ qua các điều kiện & thứ 2 cung cấp cho sai paramters chức năng phù hợp() –