2008-10-23 40 views
13

Gần đây tôi đã thử nghiệm tìm kiếm toàn văn và tò mò về ý nghĩa của giá trị Điểm. Ví dụ: tôi có truy vấn sau:Điểm tìm kiếm toàn văn MySQL được giải thích

SELECT table. * , 
MATCH (
col1, col2, col3 
) 
AGAINST (
'+(Term1) +(Term1)' 
) AS Score 
FROM table 
WHERE MATCH (
col1, col2, col3 
) 
AGAINST (
'+(Term1) +(Term1)' 
) 

Trong kết quả cho Điểm tôi đã thấy kết quả, cho một truy vấn, giữa 0,4667041301727 đến 11.166275978088. Tôi hiểu rằng đó là ý tưởng về sự liên quan của MySQL (trọng lượng càng cao).

Điều tôi không hiểu là cách MySQL đi kèm với điểm số đó. Tại sao số không được trả lại dưới dạng thập phân hoặc thứ gì đó bên cạnh?

Làm cách nào nếu tôi chạy truy vấn "IN BOOLEAN MODE", điểm số luôn trả về 1 hoặc 0? Không phải tất cả các kết quả sẽ là 1?

Chỉ hy vọng một số chứng ngộ. Cảm ơn.

Trả lời

6

Nói chung mức độ liên quan dựa trên số lượng kết quả phù hợp mà mỗi hàng có với các từ được cung cấp cho tìm kiếm. Giá trị chính xác sẽ phụ thuộc vào nhiều thứ, nhưng nó thực sự chỉ là vấn đề để so sánh với các giá trị liên quan khác trong cùng một truy vấn.

Nếu bạn thực sự muốn toán học đằng sau nó, bạn có thể tìm thấy nó tại internals manual.

+0

Tôi có thể hiển thị cho khách hàng giá trị 11.166275978088 là "mức độ liên quan 11%" không? –

+0

đó sẽ là một ý tưởng tồi ... nó không chính xác theo cách đó ... không – johnnietheblack

9

Lấy truy vấn "word1 word2" làm ví dụ.

Chế độ BOOLEAN cho biết toàn bộ truy vấn của bạn khớp với tài liệu (ví dụ: truy vấn chứa cả từ1 và word2). Chế độ Boolean là một trận đấu khắt khe.

Công thức thường được sử dụng dựa trên Mô hình không gian tìm kiếm của Vector. Rất đơn giản, nó đưa ra hai biện pháp để xác định mức độ quan trọng của từ trong truy vấn. Thuật ngữ tần suất (các thuật ngữ xuất hiện thường xuyên trong một tài liệu quan trọng hơn các thuật ngữ khác) và tần số tài liệu nghịch đảo (một thuật ngữ xảy ra trong nhiều tài liệu có trọng số thấp hơn một thuật ngữ xảy ra trong một vài tài liệu). Điều này được gọi là tf-idf và được sử dụng làm cơ sở cho mô hình không gian vectơ. Những điểm này tạo thành cơ sở cho Vector Space Model, mà người khác có thể giải thích kỹ lưỡng. :)

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