1. Trang chủ
  2. » Công Nghệ Thông Tin

Tìm hiểu về Apache Solr

21 463 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 2,08 MB
File đính kèm TieuLuan_Nhom08_CNTT15A_CacHeCoSoDuLieuTienTien.zip (2 MB)

Nội dung

So sánh kết quả tìm kiếm của Solr với trường hợp sử dụng tính năng Fulltext search của cơ sở dữ liệu Oracle...14 KẾT LUẬN...20 DANH MỤC TÀI LIỆU THAM KHẢO...21 Trang 2... Chính vì vậy, đ

Trang 1

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 về Apache Solr

Trang 2

Hà Nội: 08/2016

-MỤC LỤC

MỞ ĐẦU 3

CHƯƠNG 1: TÌM HIỂU VỀ APACHE SOLR 4

I CẤU TRÚC CHUNG CỦA APACHE SOLR 4

II CÁC CHỨC NĂNG CƠ BẢN CỦA SOLR 5

CHƯƠNG 2: CÀI ĐẶT VÀ THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TOÀN VĂN (FULL-TEXT SEARCH) 7

I CÀI ĐẶT 7

1 Cài đặt Java SDK 7

2 Cài đặt Apache Tomcat 8

3 Cài đặt Solr 9

II THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TOÀN VĂN (FULL-TEXT SEARCH) 11

1 Cơ sở dữ liệu sử dụng để tìm kiếm toàn văn 11

2 Thực hiện cấu hình và đánh chỉ mục dữ liệu thông qua Solr 12

3 So sánh kết quả tìm kiếm của Solr với trường hợp sử dụng tính năng Fulltext search của cơ sở dữ liệu Oracle 14

KẾT LUẬN 20

DANH MỤC TÀI LIỆU THAM KHẢO 21

Trang 2

Trang 3

MỞ ĐẦU

Hiện nay, trong quá trình phát triển website, đã có rất nhiều nhu cầu xâydựng các hệ thống thu thập tin bài giúp ích cho người dùng có thể thu thập cácthông tin từ các website hoặc nhóm website một cách nhanh chóng, dễ dàng vàthuận tiện Những hệ thống thu thập tin bài đó cũng cần cung cấp khả năng kiếmnội dung hoặc lọc ra các tin bài có nội dung theo từ khóa một cách nhanh vàchính xác nhất Chính vì vậy, đòi hỏi cao về khả năng tìm kiếm, ranking kết quảvới nhiều tiêu chí cùng một lúc, hoặc cần xây dựng bộ lọc cho tìm kiếm, …

Nhưng khi đó, nếu sử dụng tính năng Fulltext search của cơ sở dữ liệu thìvấn đề gặp phải sẽ là rất khó để xây dựng quan hệ giữa các bảng, các trường,đồng thời số lượng truy vấn vào cơ sở dữ liệu là rất nhiều, và phải thực hiệnđánh chỉ mục khá đồ sộ Việc này là thực sự không cần thiết và đôi khi là bấtkhả thi với những hệ thống được xây dựng trên những máy chủ có sức mạnhkhông cao Để nhằm khắc phục những vấn đề gặp phải đó, rất nhiều flatformsearch engine ra đời, phải kể đến như là sphinx, solr, elasticsearch, Và search-engine được đánh giá là rất mạnh hiện nay, đó là Apache Solr

Trong khuôn khổ bài tiểu luận học phần “Các hệ cơ sở dữ liệu tiên tiến”này, chính em xin đưa ra những tìm hiểu cũng như là cài đặt, thử nghiệm khảnăng tìm kiếm toàn văn của Apache Solr

Mặc dù nhóm chúng em đã có nhiều những cố gắng để thực hiện đề tàimột cách hoàn chỉnh nhất, song do chúng em còn hạn chế về mặt kiến thức, kinhnghiệm nên không tránh khỏi những thiếu sót nhất định mà bản thân chúng emchưa nhìn nhận ra được ngay Chúng em rất mong nhận được sự góp ý của côgiáo và các bạn để tiểu luận được hoàn chỉnh hơn

Nhóm học viên chúng em xin trân trọng cảm ơn!

Trang 4

CHƯƠNG 1: TÌM HIỂU VỀ APACHE SOLR

I CẤU TRÚC CHUNG CỦA APACHE SOLR

Solr là một platform (nền tảng) mã nguồn mở dựa trên Apache Lucence

có khả năng cung cấp sử dụng Lucene Java làm thư viện cho việc index (đánhchỉ số) và search (tìm kiếm) dữ liệu Solr nhập dữ liệu dưới dạng XML thôngqua HTTP, hoặc sử dụng thư viện để nhập khối lượng lớn dữ liệu Người dùng

có thể truy vấn dữ liệu này thông qua HTTP GET và nhận về một kết quả dạngXML Solr chạy bên trong một Java servlet container như Tomcat, Jetty hayResin

Solr có nhiều thành phần (components) khác nhau bao gồm:

Trang 4

Trang 5

- Apache Tika dùng để trích xuất metadata, tìm kiếm và chỉ mụcnhiều loại file document khác nhau như pdf, docx, mp3, jpg (hỗ trợ

66 file types khác nhau)

Architecture), đây cũng là một project thuộc Apache Foudnation,

nó được dùng để phân tích một lượng lớn dữ liệu không có cấu trúcnhằm tìm ra được những thông tin có ích cho người dùng Ví dụ:

o Phân tích các phim và trích xuất phụ đề rồi dựa vào đó để tìm

ra diễn viên nào đóng trong phim đó

o Tìm các bài viết, video, hình ảnh có liên quan tới chủ đề củamột bài viết cụ thể nào đó

- Carrot2 (search results clustering engine) dùng để phân loại vànhóm các kết quả tìm kiếm thành những danh mục có cùng chủ đề(thematic categories)

II CÁC CHỨC NĂNG CƠ BẢN CỦA SOLR

1 Khả năng tìm kiếm văn bản toàn diện(Full-Text Search) giống kiểuGoogle

2 Chỉnh sửa để hiệu năng tốt hơn

3 Dựa trên các chuẩn mở trong giao tiếp với các hệ thống khác – XML,JSON và HTTP

4 Quản trị dưới dạng giao diện HTML đơn giản

5 Thống kê dưới dạng JMX

6 Khả năng mở rộng ra nhiều server Solr

7 Cấu hình đơn giản dễ dàng với định dạng XML

8 Có khả năng bổ sung các phần mở rộng(plugin) mới Ví dụ như phân tích

mở rộng tiếng Việt: Bắt lỗi chính tả, bỏ dấu, …

9 Cho phép highlighting kết quả tìm kiếm, như cách mà google hiện thịthông tin tóm tắt về kết quả mà ở đó câu truy vấn được in đậm

10.Có thể xây dựng rất nhiều ứng dụng khác mà một trang tìm kiếm cần như:autosuggestion, spellchecking, xây dựng tagcloud, phân loại kết quảclustering (như Bing làm), trending keywords, category navigation, cáckết quả liên quan, nhóm kết quả (field collapsed) …

Trang 6

11.Cho phép scale hệ thống một cách dễ dàng khi bạn có một lượng lớn dữliệu mà không đủ chứa trên một máy chủ hay phải phục vụ rất nhiềungười dùng đồng thời.

12.Solr cũng có thể dùng như CSDL NoSQL hay như cache layer, dùng chocác listing cần performance tốt

13.Solr cũng sắp hỗ trợ realtime cho phép tìm kiếm ngay kết quả sau khiindex Điều nàyđặc biệt khó khi index rất lớn Hiện tại Solr cho phép kếtquả rât nhanh, nhưng phải hy sinh thời gian index Với dữ liệu lớn có khibạn phải mất 30 phút chỉ để cập nhật được một tài liệu

14.Solr hỗ trợ rất nhiều công cụ để tinh chỉnh kết quả tìm kiếm, bằng tất cảcác thông tin mà bạn cung cấp làm sao để kết quả trả về là tốt nhất Ví dựnhư đánh trọng số các trường, click log, số lượt view, …

Trang 6

Trang 7

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

1 Cài đặt Java SDK

Trang 8

2 Cài đặt Apache Tomcat

- Sử dụng bản cài apache-tomcat-8.0.0-RC5.exe

- Kiểm tra server Tomcat trên trình duyệt bằng cácg truy cập đườngdẫn

Trang 8

Trang 9

3 Cài đặt Solr

- Sử dụng bộ cài Solr-4.6.0 để cài đặt

- Cấu hình chạy Solr trong Tomcat

- Thực hiện chạy thử Solr: Sau khi cài đặt thành công, truy cập vàosolr thông qua trình duyệt

- Cấu hình

o Schema.xml: Dùng để config các trường dữ liệu (field), cách

lưu trữ để sau này lưu dữ liệu phục vụ cho việc đánh index

Các thành phần chính của một trường chính là các thuộc tính (attribute)của trường đó:

Trang 10

Default: Đây là 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 là trường dữliệu cần đánh chỉ mục, từ đó trường dữ liệu có thểđược tìm thấy, sắp xếp và chỉnh sửa

Stored=true/false: Xác định trạng thái lưu của dữ liệu

trong Solr Nếu là true thì dữ liệu được lưu vĩnh viễntrong data của Solr, ngược lại dữ liệu sẽ được add vàindex lại sau khi khởi động

Type: Xác định loại lưu trữ cho trường dữ liệu như:

date, binary, string, text, text_general, uuid, …

o Solrconfig.xml: Dùng để config các chức năng cụ thể

Trang 10

Trang 11

II THỬ NGHIỆM KHẢ NĂNG TÌM KIẾM TOÀN VĂN (FULL-TEXT

SEARCH)

1 Cơ sở dữ liệu sử dụng để tìm kiếm toàn văn

- Hệ thống lưu trữ tin bài được thu thập các thông tin từ các websitehoặc nhóm website:

o DOMAIN: Cho phép người dùng quản lý các danh sách tênmiền cần bóc tách dữ liệu

o CATEGORY: Phân loại chuyên mục các tin tức được bóctách về

o LINK_CRAWLER: Thông tin cấu hình các trang tin tức đểbóc tác dữ liệu

o LINK_CRAWLER _DETAIL: Dữ liệu tin tức được bóc tách

về, là thông tin chính để người dùng có thể tìm kiếm nộidung hoặc lọc ra các tin bài có nội dung theo từ khóa

o LINK_CRAWLER _DETAIL_GROUP: Thông tin cấu hìnhcác trang duyệt cần bóc tách theo nhóm Các trang duyệt này

Trang 12

sẽ được thu thập theo các tiêu chí chung của nhóm và theo từkhóa

- Hệ thống cung cấp cho người dùng chức năng có thể tìm kiếm nộidung hoặc lọc ra các tin bài có nội dung theo từ khóa

o Số lượng bản ghi thử nghiệm khả năng tìm kiếm: 18.193 bảnghi

o Tiêu chí tìm kiếm: Chuyên mục, tên miền, nội dung, ngàyđăng bài, …

2 Thực hiện cấu hình và đánh chỉ mục dữ liệu thông qua Solr

- Cấu hình trường cần đánh chỉ mục để phục vụ tìm kiếm toàn văn(schema.xml)

Trang 12

Trang 13

- Cấu hình để Solr có thể import data từ cơ sở dữ liệu để phục vụ choviệc indexing (solrconfig.xml)

- Định nghĩa các field sẽ được Solr index lấy từ bảng nào, trường nàotrong database (db-data-config.xml)

Trang 14

- Thực hiện đánh chỉ mục, kết quả đánh index sẽ được hiển thị trêntrình duyệt khi truy cập vào địa chỉ Solr:

- Chạy thử kết quả tìm kiếm của Solr chúng ta truy vấn thử một sốlệnh như sau:

http://localhost:1357/solr/Crawler/select?q=*%3A*+AND+NoiDung

%3A+N%E1%BB%A3+c%C3%B4ng&wt=json&indent=true

3 So sánh kết quả tìm kiếm của Solr với trường hợp sử dụng tính năng Fulltext search của cơ sở dữ liệu Oracle

- Số lượng bản ghi thử nghiệm khả năng tìm kiếm: 18.193 bản ghi

- Thực hiện tìm kiếm với Apache Solr

Trang 14

Trang 15

o Câu truy vấn lấy dữ liệu

o Thời gian truy vấn tất cả dữ liệu

Trang 16

o Thời gian truy vấn dữ liệu khi có điều kiện tìm kiếm

- Thực hiện tìm kiếm của cơ sở dữ liệu Oracle (Chưa đánh indextrường dữ liệu trong Oracle)

o Câu truy vấn lấy dữ liệu

Trang 16

Trang 17

o Thời gian truy vấn tất cả dữ liệu

o Thời gian truy vấn dữ liệu khi có điều kiện tìm kiếm

Trang 18

- Thực hiện tìm kiếm của cơ sở dữ liệu Oracle (Đã thực hiện đánhindex trường dữ liệu trong Oracle)

o Thủ tục (Stored Procedure) truy vấn dữ liệu

o Thời gian truy vấn tất cả dữ liệu

Trang 18

Trang 19

o Thời gian truy vấn dữ liệu khi có điều kiện tìm kiếm

Trang 20

KẾT LUẬN

Qua bài tiểu luận môn “Các hệ cơ sở dữ liệu tiên tiến” với đề tài “Tìm

hiểu về Apache Solr”, kết quả của nhóm đã đạt được như sau:

- Tìm hiểu được cấu trúc chung cũng như các chức năng cơ bản củaApache Solr

- Tiến hành cài đặt và thử nghiệm khả năng tìm kiếm toàn văn

- Thực hiện so sánh kết quả tìm kiếm với trường hợp sử dụng tínhnăng Fulltext search của cơ sở dữ liệu Oracle

Trang 20

Trang 21

DANH MỤC TÀI LIỆU THAM KHẢO

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

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w