2008-09-10 38 views
8

Có thể sắp xếp các kết quả trong SQL Server 2005 theo mức độ phù hợp của một kết hợp freetext không? Trong MySQL bạn có thể sử dụng hàm MATCH (gần tương đương) trong phần ORDER BY, nhưng tôi không tìm thấy bất kỳ sự tương đương nào trong SQL Server.Kết hợp SQL Server Freetext - làm cách nào để sắp xếp theo mức độ liên quan

Từ MySQL docs:

Đối với mỗi hàng trong bảng, MATCH() trả về một giá trị phù hợp; có nghĩa là, một phép đo tương tự giữa chuỗi tìm kiếm và văn bản trong hàng đó trong các cột có tên trong danh sách MATCH().

Ví dụ: bạn có thể đặt hàng theo số phiếu bầu, sau đó là mức độ liên quan này và cuối cùng là ngày tạo. Đây có phải là cái gì đó có thể được thực hiện, hoặc tôi bị mắc kẹt với chỉ trả lại các giá trị phù hợp và không có khả năng đặt hàng này?

Trả lời

4

Nếu bạn đang sử dụng FREETEXTTABLE thì nó sẽ trả về tên cột Rank, vì vậy order by Rank sẽ hoạt động. Tôi không biết liệu các phương pháp tìm kiếm freetext khác cũng có trả về giá trị này hay không. Bạn có thể thử.

2

Cả hai FREETEXTTABLECONTAINSTABLE sẽ trả lại cột [RANK], nhưng đảm bảo bạn đang sử dụng đúng biến thể hoặc công đoàn để có được tất cả kết quả phù hợp.

Các vấn đề liên quan