Đồ Án Điện toán đám mây, MapReduce và ứng dụng xây dựng hệ tìm kiếm theo yêu cầu người dùng

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi Thúy Viết Bài, 5/12/13.

  1. Thúy Viết Bài

    Thành viên vàng

    Bài viết:
    198,891
    Được thích:
    170
    Điểm thành tích:
    0
    Xu:
    0Xu
    Mục Lục
    1. Bộ máy tìm kiếm . . 3
    a. Quy trình tìm kiếm . . 3
    b. Tiêu chí cho một bộ máy tìm kiếm . . 3
    2. Solr . . 3
    a. Solr là gì . 3
    b. Tại sao chọn Solr . . 4
    c. Quá trình thực hiện . 5
    i. File chỉ mục . . 6
    ii. Quá trình đánh chỉ mục . . 8
    iii. Quá trình tìm kiếm . . 11
    3. Solr trong dự án BKProfile . . 13
    a. BKProfile là gì . . 13
    b. Thiết kế cấu trúc bản ghi chỉ mục . . 14
    c. Nâng cao chất lượng tìm kiếm . . 17
    i. Đánh trọng số . . 17
    ii. Gom nhóm các cụm từ hay xuất hiện . . 17
    4. Demo . . 19




    Điện toán đám mây, MapReduce và ứng dụng xây dựng hệ tìm kiếm theo yêu cầu người dùng
    1. Bộ máy tìm kiếm
    a. Quy trình tìm kiếm
    Quy trình tìm kiếm bao gồm có bốn bước:
    ã Truy vấn tìm kiếm được thực hiện bởi người sử dụng bằng cách
    yêu cầu bộ máy tìm kiếm thực hiện tìm kiếm các từ khóa nào đó.
    ã Bộ máy tìm kiếm sẽ thực hiện xử lý truy vấn
    ã Máy tìm kiếm tìm các từ khóa trong bộ chỉ mục có sẵn của nó
    ã Máy tìm kiếm thực hiện đánh điểm, sắp xếp theo độ phù hợp với
    yêu cầu tìm kiếm và trả kết quả về cho người dùng.
    b. Tiêu chí cho một bộ máy tìm kiếm
    Có rất nhiều tiêu chí cần đặt ra cho một bộ máy tìm kiếm.
    ã Kết quả phải chính xác:
    ã Sắp xếp theo thứ tự phù hợp: Càng phù hợp với yêu cầu tìm kiếm
    của người sử dụng thì càng được đưa lên đầu tiên
    ã Tốc độ nhanh
    ã Dễ dàng tùy chỉnh: Đối với người phát triển, một bộ máy tìm kiếm
    được coi là tốt nếu nó có thể dễ dàng thêm bớt, cấu hình các thuộc
    tính bên trong nhân của bộ tìm kiếm. Ngoài ra, máy tìm kiếm còn
    cho phép người phát triển dễ dàng theo dõi quá trình tìm kiếm,
    theo dõi quá trình thực hiện xử lý câu truy vấn của người dùng để
    từ đó có các bước tùy chỉnh phù hợp để nâng cao độ phù hợp của
    kết quả trả về
    ã Phân tán: Với khối lượng thông tin khổng lồ và tăng nhanh từng
    ngày thì yêu cầu phân tán là một yêu cầu cần thiết đối với bộ máy
    tìm kiếm.
    ã Một vài chức năng khác:
    o Có chức năng đánh dấu cho kết quả trả về
    o Tìm kiếm theo cụm: Người dùng có thể lọc dần các tiêu chí
    theo cụm từ lớn đến nhỏ dần để đưa ra kết quả phù hợp
    o Từ đồng nghĩa: Máy tìm kiếm cho phép tìm các từ có cùng
    nghĩa với các từ khóa người dùng nhập vào
    o Từ gốc: Máy tìm kiếm cho phép tìm các từ là từ gốc của
    các từ trong từ khóa của người dùng.
    o Kiểm tra chính tả: Máy tìm kiếm cho phép kiểm tra chính
    tả của người dùng và từ đó, gợi ý cho người dùng tìm kiếm
    theo các từ khóa đúng chính tả
    o Stopwords: Trong ngôn ngữ, có nhiều từ không mang nhiều
    ý nghĩa (ví dụ các từ cảm thán trong tiếng Việt hoặc trong
    tiếng Anh có các từ như a, the, not, but )
    2. Solr
    a. Solr là gì
    Solr là một máy chủ tìm kiếm văn bản có tốc độ thực thi rất nhanh. Solr sử
    dụng nhân tìm kiếm Lucene, là một thư viện tìm kiếm gồm có các chức
    năng sau:
    3




    ã Đánh chỉ mục ngược
    ã Phân tích văn bản
    ã Thuật toán đánh điểm tốt
    Solr được phát triển hoàn toàn bằng Java và được thực thi trong một
    container như Tomcat hoặc Jetty. Solr có các giao tiếp API dựa trên nền
    tảng XML hoặc Json khiến cho việc thực hiện tương tác với nhiều ngôn
    ngữ khác trở nên dễ dàng. Solr cho phép người dùng thực hiện việc cấu
    hình bên ngoài hệ thống thông qua việc chỉnh sửa trong file cấu hình (xml).
    Các thành phần khác mà Solr cung cấp:
    ã Từ đồng nghĩa
    ã Đánh dấu kết quả trả về
    ã Phân tán
    ã Kết hợp trực tiếp với các cơ sở dữ liệu (MySql, MSSQL) để lấy dữ
    liệu
    Trong Solr tồn tại hai quá trình:
    ã Quá trình đánh chỉ mục: Để xây dựng bộ dữ liệu cho máy chủ tìm
    kiếm
    ã Quá trình truy vấn: Để thực hiện tìm kiếm trong bộ dữ liệu của
    máy chủ tìm kiếm
    b. Tại sao chọn Solr
    Hiện nay có nhiều các loại máy chủ tìm kiếm khác nhau, tuy nhiên sau quá
    trình tìm hiểu và nghiên cứu, dựa trên các tiêu chí đánh giá về thời gian
    thực hiện quá trìnhđánh ch ỉ mục, thời gian thực hiện câu truy vấn, số
    lượng câu truy vấn được thực hiện trong một đơn v ị thời gian, số lượng
    không gian đĩa cứng mà bộ dữ liệu đánh chỉ mục chiếm dụng, Solr xứng
    đáng là ứng cử viên xuất sắc cho một bộ máy tìm kiếm
     

    Các file đính kèm:

Đang tải...