Tìm hiểu về Apache Solr

21 9 0
  • Loading ...
1/21 trang

Thông tin tài liệu

Ngày đăng: 17/05/2018, 15:16

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG **** TIỂU LUẬN MÔN: CÁC HỆ CƠ SỞ DỮ LIỆU TIÊN TIẾN Đề tài: Tìm hiểu Apache Solr - Mã học phần : IT6060 - Giảng viên hướng : Vũ Tuyết Trinh dẫn - Học viên thực T : (Nhóm 08 – 15ACNTT) Họ tên Ngày sinh T Mã học viên Nguyễn Thị Thùy Dung 04/11/1986 CA150106 Nguyễn Mạnh Hùng 16/03/199 CA150109 Bùi Hữu Anh Tuấn 15/04/198 CA150117 - Hà Nội: 08/2016 - MỤC LỤC MỞ ĐẦU CHƯƠNG 1: TÌM HIỂU VỀ APACHE SOLR .4 I CẤU TRÚC CHUNG CỦA APACHE SOLR II CÁC CHỨC NĂNG CƠ BẢN CỦA SOLR CHƯƠNG 2: CÀI ĐẶT VÀ THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TỒN VĂN (FULL-TEXT SEARCH) I CÀI ĐẶT Cài đặt Java SDK Cài đặt Apache Tomcat Cài đặt Solr .9 II THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TOÀN VĂN (FULL-TEXT SEARCH) 11 Cơ sở liệu sử dụng để tìm kiếm tồn văn 11 Thực cấu hình đánh mục liệu thông qua Solr .12 So sánh kết tìm kiếm Solr với trường hợp sử dụng tính Fulltext search sở liệu Oracle .14 KẾT LUẬN 20 DANH MỤC TÀI LIỆU THAM KHẢO 21 Trang MỞ ĐẦU Hiện nay, trình phát triển website, có nhiều nhu cầu xây dựng hệ thống thu thập tin giúp ích cho người dùng thu thập thơng tin từ website nhóm website cách nhanh chóng, dễ dàng thuận tiện Những hệ thống thu thập tin cần cung cấp khả kiếm nội dung lọc tin có nội dung theo từ khóa cách nhanh xác Chính vậy, đòi hỏi cao khả tìm kiếm, ranking kết với nhiều tiêu chí lúc, cần xây dựng lọc cho tìm kiếm, … Nhưng đó, sử dụng tính Fulltext search sở liệu vấn đề gặp phải khó để xây dựng quan hệ bảng, trường, đồng thời số lượng truy vấn vào sở liệu nhiều, phải thực đánh mục đồ sộ Việc thực không cần thiết bất khả thi với hệ thống xây dựng máy chủ có sức mạnh không cao Để nhằm khắc phục vấn đề gặp phải đó, nhiều flatform search engine đời, phải kể đến sphinx, solr, elasticsearch, Và searchengine đánh giá mạnh nay, Apache Solr Trong khuôn khổ tiểu luận học phần “Các hệ sở liệu tiên tiến” này, em xin đưa tìm hiểu cài đặt, thử nghiệm khả tìm kiếm tồn văn Apache Solr Mặc dù nhóm chúng em có nhiều cố gắng để thực đề tài cách hồn chỉnh nhất, song chúng em hạn chế mặt kiến thức, kinh nghiệm nên không tránh khỏi thiếu sót định mà thân chúng em chưa nhìn nhận Chúng em mong nhận góp ý giáo bạn để tiểu luận hồn chỉnh Nhóm học viên chúng em xin trân trọng cảm ơn! Trang CHƯƠNG 1: TÌM HIỂU VỀ APACHE SOLR I CẤU TRÚC CHUNG CỦA APACHE SOLR Solr platform (nền tảng) mã nguồn mở dựa Apache Lucence có khả cung cấp sử dụng Lucene Java làm thư viện cho việc index (đánh số) search (tìm kiếm) liệu Solr nhập liệu dạng XML thông qua HTTP, sử dụng thư viện để nhập khối lượng lớn liệu Người dùng truy vấn liệu thông qua HTTP GET nhận kết dạng XML Solr chạy bên Java servlet container Tomcat, Jetty hay Resin Solr có nhiều thành phần (components) khác bao gồm: - Apache Lucene để phân tích, đánh mục tìm kiếm liệu Trang - Apache Tika dùng để trích xuất metadata, tìm kiếm mục nhiều loại file document khác pdf, docx, mp3, jpg (hỗ trợ 66 file types khác nhau) - Apache UIMA (Unstructured Information Managemen Architecture), project thuộc Apache Foudnation, dùng để phân tích lượng lớn liệu khơng có cấu trúc nhằm tìm thơng tin có ích cho người dùng Ví dụ: o Phân tích phim trích xuất phụ đề dựa vào để tìm diễn viên đóng phim o Tìm viết, video, hình ảnh có liên quan tới chủ đề viết cụ thể - Apache Velocity Java-based template engine - Carrot2 (search results clustering engine) dùng để phân loại nhóm kết tìm kiếm thành danh mục có chủ đề (thematic categories) II CÁC CHỨC NĂNG CƠ BẢN CỦA SOLR Khả tìm kiếm văn tồn diện(Full-Text Search) giống kiểu Google Chỉnh sửa để hiệu tốt Dựa chuẩn mở giao tiếp với hệ thống khác – XML, JSON HTTP Quản trị dạng giao diện HTML đơn giản Thống kê dạng JMX Khả mở rộng nhiều server Solr Cấu hình đơn giản dễ dàng với định dạng XML Có khả bổ sung phần mở rộng(plugin) Ví dụ phân tích mở rộng tiếng Việt: Bắt lỗi tả, bỏ dấu, … Cho phép highlighting kết tìm kiếm, cách mà google thị thơng tin tóm tắt kết mà câu truy vấn in đậm 10.Có thể xây dựng nhiều ứng dụng khác mà trang tìm kiếm cần như: autosuggestion, spellchecking, xây dựng tagcloud, phân loại kết clustering (như Bing làm), trending keywords, category navigation, kết liên quan, nhóm kết (field collapsed) … Trang 11.Cho phép scale hệ thống cách dễ dàng bạn có lượng lớn liệu mà không đủ chứa máy chủ hay phải phục vụ nhiều người dùng đồng thời 12.Solr dùng CSDL NoSQL hay cache layer, dùng cho listing cần performance tốt 13.Solr hỗ trợ realtime cho phép tìm kiếm kết sau index Điều nàyđặc biệt khó index lớn Hiện Solr cho phép kết rât nhanh, phải hy sinh thời gian index Với liệu lớn có bạn phải 30 phút để cập nhật tài liệu 14.Solr hỗ trợ nhiều công cụ để tinh chỉnh kết tìm kiếm, tất thơng tin mà bạn cung cấp để kết trả tốt Ví dự đánh trọng số trường, click log, số lượt view, … Trang CHƯƠNG 2: CÀI ĐẶT VÀ THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TOÀN VĂN (FULL-TEXT SEARCH) I CÀI ĐẶT Cài đặt Java SDK Trang Cài đặt Apache Tomcat - Sử dụng cài apache-tomcat-8.0.0-RC5.exe - Kiểm tra server Tomcat trình duyệt cácg truy cập đường dẫn Trang Cài đặt Solr - Sử dụng cài Solr-4.6.0 để cài đặt - Cấu hình chạy Solr Tomcat - Thực chạy thử Solr: Sau cài đặt thành cơng, truy cập vào solr thơng qua trình duyệt - Cấu hình o Schema.xml: Dùng để config trường liệu (field), cách lưu trữ để sau lưu liệu phục vụ cho việc đánh index Các thành phần trường thuộc tính (attribute) trường đó: Trang  Default: Đây giá trị mặc định cho trường  Indexed=true/false: Xác định trường cần đánh index (chỉ mục) Nếu Indexed = true có nghĩa trường liệu cần đánh mục, từ trường liệu tìm thấy, xếp chỉnh sửa  Stored=true/false: Xác định trạng thái lưu liệu Solr Nếu true liệu lưu vĩnh viễn data Solr, ngược lại liệu add index lại sau khởi động  Type: Xác định loại lưu trữ cho trường liệu như: date, binary, string, text, text_general, uuid, … o Solrconfig.xml: Dùng để config chức cụ thể Trang 10 II THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TỒN VĂN (FULL-TEXT SEARCH) Cơ sở liệu sử dụng để tìm kiếm tồn văn - Hệ thống lưu trữ tin thu thập thơng tin từ website nhóm website: o DOMAIN: Cho phép người dùng quản lý danh sách tên miền cần bóc tách liệu o CATEGORY: Phân loại chuyên mục tin tức bóc tách o LINK_CRAWLER: Thơng tin cấu hình trang tin tức để bóc tác liệu o LINK_CRAWLER _DETAIL: Dữ liệu tin tức bóc tách về, thơng tin để người dùng tìm kiếm nội dung lọc tin có nội dung theo từ khóa o LINK_CRAWLER _DETAIL_GROUP: Thơng tin cấu hình trang duyệt cần bóc tách theo nhóm Các trang duyệt Trang 11 thu thập theo tiêu chí chung nhóm theo từ khóa - Hệ thống cung cấp cho người dùng chức tìm kiếm nội dung lọc tin có nội dung theo từ khóa o Số lượng ghi thử nghiệm khả tìm kiếm: 18.193 ghi o Tiêu chí tìm kiếm: Chun mục, tên miền, nội dung, ngày đăng bài, … Thực cấu hình đánh mục liệu thông qua Solr - Cấu hình trường cần đánh mục để phục vụ tìm kiếm tồn văn (schema.xml) Trang 12 - Cấu hình để Solr import data từ sở liệu để phục vụ cho việc indexing (solrconfig.xml) - Định nghĩa field Solr index lấy từ bảng nào, trường database (db-data-config.xml) Trang 13 - Thực đánh mục, kết đánh index hiển thị trình duyệt truy cập vào địa Solr: - Chạy thử kết tìm kiếm Solr truy vấn thử số lệnh sau: http://localhost:1357/solr/Crawler/select?q=*%3A*+AND+NoiDung %3A+N%E1%BB%A3+c%C3%B4ng&wt=json&indent=true So sánh kết tìm kiếm Solr với trường hợp sử dụng tính Fulltext search sở liệu Oracle - Số lượng ghi thử nghiệm khả tìm kiếm: 18.193 ghi - Thực tìm kiếm với Apache Solr Trang 14 o Câu truy vấn lấy liệu o Thời gian truy vấn tất liệu Trang 15 o Thời gian truy vấn liệu có điều kiện tìm kiếm - Thực tìm kiếm sở liệu Oracle (Chưa đánh index trường liệu Oracle) o Câu truy vấn lấy liệu Trang 16 o Thời gian truy vấn tất liệu o Thời gian truy vấn liệu có điều kiện tìm kiếm Trang 17 - Thực tìm kiếm sở liệu Oracle (Đã thực đánh index trường liệu Oracle) o Thủ tục (Stored Procedure) truy vấn liệu o Thời gian truy vấn tất liệu Trang 18 o Thời gian truy vấn liệu có điều kiện tìm kiếm Trang 19 KẾT LUẬN Qua tiểu luận môn “Các hệ sở liệu tiên tiến” với đề tài “Tìm hiểu Apache Solr”, kết nhóm đạt sau: - Tìm hiểu cấu trúc chung chức Apache Solr - Tiến hành cài đặt thử nghiệm khả tìm kiếm tồn văn - Thực so sánh kết tìm kiếm với trường hợp sử dụng tính Fulltext search sở liệu Oracle Trang 20 DANH MỤC TÀI LIỆU THAM KHẢO http://lucene.apache.org/solr/ https://lucene.apache.org/ https://en.wikipedia.org/wiki/Apache_Solr http://zinh.github.io/lucene/2014/11/23/solr-lucene-an-introduction.html http://solr-vs-elasticsearch.com/ Trang 21
- Xem thêm -

Xem thêm: Tìm hiểu về Apache Solr, Tìm hiểu về Apache Solr

Gợi ý tài liệu liên quan cho bạn

Nhận lời giải ngay chưa đến 10 phút Đăng bài tập ngay