Tôi không tin rằng bạn sẽ gặp bất kỳ vấn đề nào, nếu tôi hiểu đúng câu hỏi của bạn. Tôi thường kết hợp toàn văn và b-cây với kết quả tuyệt vời. Khi tìm kiếm toàn văn được thực hiện, nó sẽ xem mỗi "thuật ngữ" được phân tách như một chỉ mục, giống như một cột được lập chỉ mục chỉ có một thuật ngữ (đưa ra hoặc lấy một số thống kê sql). Dù bằng cách nào, SQL phải tìm ra đường dẫn thực thi của nó. Tìm kiếm Toàn văn không ưu tiên so sánh các giá trị số nguyên / ngày - nhiều hơn để so khớp các chuỗi dữ liệu được phân tách.
Tôi sẽ tưởng tượng rằng bạn muốn tiếp tục sử dụng hiệu quả của khái niệm b-tree để làm lợi thế cho bạn. Đối với tôi, tìm kiếm chỉ mục danh mục toàn văn dường như là một tìm kiếm vòng vo hơn nhiều, mặc dù có lợi hơn nhiều trong các tình huống sử dụng "LIKE" để phân tích cú pháp / so sánh các chuỗi.
Những gì tôi làm là:
SELECT * FROM MyTable
WHERE CONTAINS(columnName, '"Toy Dog" OR "live animal"')
AND start_date > ###;
(xem bài viết này trên msdn để biết thông tin cú pháp )
P.S. khi dữ liệu số nguyên lập chỉ mục toàn văn bản, hãy tắt danh sách dừng để những giá trị đó không bị bỏ qua trong lập chỉ mục danh mục.
Hy vọng bất kỳ điều đó sẽ giúp! (Không ai trả lời nên tôi nghĩ tôi sẽ đưa ra kinh nghiệm của mình)