Với thuật toán này, ta tìm được danh sách những phần tử có nhiều term nhất, ưu tiên tính điểm cho chúng để đưa ra kết quả
Sau khi có danh sách tổng hợp các id và điểm của chúng, ta tìm cách chọn ra một số ít những văn bản có điểm cao nhất. Để tìm k phần tử lớn nhất trong một danh sách ta n phần tử mà k<< n, ta dùng thuật toán Heap Short. Chi tiết thuật toán vun đống sẽ được trình bày ở phần phụ lục. Ý tưởng chung là với thuật toán này là chúng ta gồm 2 bước: Chuẩn bị đống và vun đống để tìm ra phần tử bé nhất, sau đó lấy phần tử đó ra và vun lại đống. Thời gian để chuẩn bị đống là O(n). Thời gian để tìm ra đỉnh cho mỗi lần tìm kiếm là 0(lgn). Do đó thời gian để tìm ra top k phần tử là O(n)+O(klgn). Nếu cần lấy ra các phần từ từ m đến m+k, ta lấy ra top m+k phần tử, sau đó chọn ra k phần tử cuối cùng.
Nội dung lý thuyết của phần Ranking là 2.9
Vì các bản ghi của MP3 là rời rạc và không có liên kết với nhau, nội dung của chúng lại đơn giản nên chúng tôi không dùng những kỹ thuật rank với tìm kiếm Web để áp dụng cho MP3. Chúng tôi sử dụng những thông tin có sẵn trong các bản ghi MP3 để xếp hạng cho chúng. Tiêu chí xếp hạng của MP3 là:
Stt Tên trường Giải thích 1 int id; Không dùng để rank vì đã dùng để đánh chỉ mục 2 string title; 3 string singer; 4 string composer; 5 string album; 6 string url_download;
Không chứa thông tin để Rank 7 string url_view;
8 int size;
Độ lớn của File càng cao thì chất lượng nhạc càng tốt, có thể dùng để Rank
9 int bit_rate; Bitrate càng lớn thì âm thanh của nhạc càng tốt
10 int duration;
Có những file cùng tên nhưng bị cắt đi chỉ còn 1 phần của file nhạc. Có những host chỉ cho nghe một nửa bản nhạc chứ không phải toàn bộ. Vì vậy đây cũng là tiêu chí để rank
11 string url_cache;
12 string host_name;
Có những host biên tập nhạc rất tốt và có những host không biên tập hoặc chỉ copy lại của những host khác. Vì vậy, những host uy tín cũng là một tiêu chí để rank
13 string lyric;
Có lời bài hát chứng tỏ bài hát được quan tâm kỹ càng hơn. Đây cũng là một lợi thế trong xếp hạng
14 int flag;
Nếu bài hát mới được cập nhật thì là nó sẽ được quan tâm hơn những bài hát cập nhật lâu rồi 15 string update_time;