Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
1,18 MB
Nội dung
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO BÀI TẬP LỚN ĐỀ TÀI : TÌM HIỂU MÁY TÌM KIẾM ELASTIC SEARCH Giảng Viên : Hà Thị Thanh Nhóm thực hiên :7 Tên thành viên : Nguyễn Trí Dũng Hồng Tùng Dương Nguyễn Tất Đạt Phạm Tú Anh Nguyễn Văn Dương Lớp : CNTT-K16E Thái Nguyên, tháng năm 2021 Chương :Máy tìm kiếm ElascticSearch 1.1 : Khái niệm máy tìm kiếm ElascticSearch - Elasticsearch cơng cụ tìm kiếm phân tích phân tán, RESTful mã nguồn mở xây dựng Apache Lucene Kể từ phát hành vào năm 2010 Elasticsearch nhanh chóng trở thành cơng cụ tìm kiếm tsử dụng thông dụng sử dụng rộng rãi trường hợp liên quan đến phân tích nhật ký tìm kiếm văn bản, thơng tin bảo mật phân tích nghiệp vụ thơng tin vận hành 1.2 : Ưu điểm Nhược điểm 1.2.1 : Ưu điểm Có khả tìm kiếm phân tích liệu Có khả mở rộng theo chiều ngang Hỗ trợ tìm kiếm từ khóa tìm kiếm bị lỗi Hỗ trợ Elasticsearch client Java, Php, JS, Ruby,… Tốc độ: dùng elasticsearch trả giá trị nhanh, cần tìm kiếm term trả giá trị liên quan tới term Xây dựng Lucene: Vì xây dựng Lucene nên Elastice Search cung cấp khả tìm kiếm tồn văn (full-text) mạnh mẽ Hướng văn bản: Nó lưu trữ thực thể phức tạp dạng JSON đánh index tất field theo cách mặc định, đạt hiệu suất cao Giản đồ tự do: Nó lưu trữ số lượng lớn liệu dạng JSON theo cách phân tán Nó cố gắng phát cấu trúc liệu đánh index liệu tại, làm cho liệu trở nên thân thiện với việc tìm kiếm 1.2.2 : Nhược điểm Elasticsearch thiết kế cho mục đích search sử dụng nên sử dụng kèm theo DB khac MongoDB hay Mysql Trong Elasticsearch khơng đảm bảo tồn vẹn liệu hoạt động Insert, Update hay Delete Khơng thích hợp với hệ thống thường xuyên cập nhật liệu Sẽ tốn cho việc đánh index liệu Elasticsearch thiết kế cho mục đích search, với nhiệm vụ khác ngồi search CRUD (Create Read Update Destroy) elasticsearch so với database khác Mongodb, Mysql … Do người ta dùng elasticsearch làm database chính, mà thường kết hợp với database khác Trong elasticsearch khơng có khái niệm database transaction , tức khơng đảm bảo toàn vẹn liệu hoạt động Insert, Update, Delete.Tức thực thay đổi nhiều ghi xảy lỗi làm cho logic bị sai hay dẫn tới mát liệu Đây phần khiến elasticsearch khơng nên database Khơng thích hợp với hệ thống thường xuyên cập nhật liệu Sẽ tốn cho việc đánh index liệu Chương : Một số khái niệm máy tìm kiếm Elastic Search 2.1 : Document • Là đơn vị nhỏ để lưu trữ liệu Elasticsearch Đây đơn vị lưu trữ thông tin Elasticsearch, JSON object số liệu • Ví dụ : Chào mừng đến với Cloud 365 2.2 : Index • Trong Elasticsearch có cấu trúc tìm kiếm gọi inverted index, thiết kế phép tìm kiếm full-text search Cách thức đơn giản, văn tách thành từ có nghĩa sau map xem thuộc văn search kết cụ thể • Có kiểu đánh index forward index inverted index Bản chất inverted index đánh theo keyword: words -> pages forward đánh theo nội dung page -> words 2.3 : Shard • Shard đối tượng Lucence, tập hợp Index Một index lưu nhiều shard • Một node bao gồm nhiều Shard, shard đối tượng nhỏ nhât hoạt động mức thấp nhất, đóng vai trị lưu trữ liệu • Chúng ta khơng làm việc với shard Elasticsearch hỗ trợ toàn việc giao tiếp tự động thay đổi Shard cần thiết • Elasticsearch cung cấp chế shard primary shard replica shard • Primary shard lưu trữ liệu đánh Index, sau đánh liệu xong vận chuyển đến replica shard, mặc định Elasticsearch index có Primary shard kèm với Replica shard • Replica shard nơi lưu trữ liệu nhân Elasticsearch, đóng vai trị đảm bảo tính tồn vẹn liệu Primary shard xảy vấn đề, cịn giúp tăng tốc độ tìm kiếm cấu hình lượng Replica shard nhiều cấu hình mặc định Elasticsearch 2.4 : Node • Là trung tâm hoạt động Elasticsearch, nơi lưu trữ liệu, tham gia thực đánh index cluster thực thao tác tìm kiếm • Mỗi node xác định tên riêng khơng phép trùng lặp 2.5 : Cluster • Tập hợp nodes hoạt động với nhau, chia thuộc tính cluster.name Chính Cluster xác định ‘unique name’ Việc định danh cluster trùng tên gây nên lỗi cho node setup bạn cần ý điểm • Mỗi cluster có node (master), lựa chọn cách tự động thay cố xảy Một cluster gồm nhiều nodes Các nodes hoạt động server • Tuy nhiên thực tế , cluster gồm nhiều nodes hoạt động server khác để đảm bảo server gặp cố server khác (node khác) hoạt động đầy đủ chức so với có servers Các node tìm thấy để hoạt động cluster qua giao thức unicast • Chức Cluster định xem shard phân bổ cho node di chuyển Cluster để cần lại Cluster Chương : Cấu trúc liệu Elastic Search • Khơng giống sở liệu quan hệ, lưu trữ liệu vào hàng, ElasticSearch lưu trữ liệu tài liệu • Tuy nhiên, mức độ đó, khái niệm giống Với hàng bảng, bạn có cột, với cột, hàng có giá trị Với tài liệu có key value, tương tự • Sự khác biệt tài liệu linh hoạt hàng, lí ElasticSearch tài liệu phân nhiều cấp • Ví dụ: Giống cách bạn liên kết khoá với giá trị chuỗi “author” : “Joe” Một tài liệu lưu mảng chuỗi “tag” : [“cycling”, “bicycles”], chí cặp giá trị “author” : {“first_name”: “Joe”, “last_name”: “Smith”} • Tính linh hoạt quan trọng khuyến khích bạn lưu trữ thực có logic tài liệu, trái ngược với việc lưu trữ hàng bảng khác • Ví dụ: cách dễ (và nhanh nhất) lưu trữ tất liệu viết tài liệu Bằng cách này, việc tìm kiếm nhanh bạn khơng cần phải liên kết với bảng khác • Nếu bạn có tảng SQL, bạn phải bỏ qua chức join, phiên 1.76 Khi tất thứ sẵn sàng, bạn tải cài đặt ElasticSearch bắt đầu Chương : Cách Elastic Search lưu trữ liệu • Với ES, Document đơn vị tìm kiếm đánh index Một index bao gồm hay nhiều Document, Document chứa hay nhiều Fields Trong thuật ngữ Database, Document hiểu table row Field tương ứng với table column ES có đặc điểm schema-free, có nghĩa ta không cần phải rõ cấu trúc schema trước đánh index cho documents Một schema bao gồm thơng tin sau: • Các fields • Các ràng buộc: unique/primary key • Các required fields • Đánh index search field Mapping trình định nghĩa làm document fields lưu trữ đánh index Mỗi index có kiểu mapping, mapping type định cách document index Mapping type gồm Meta-fields Properties • Meta-fields: cho phép customize behavior document • Fields/Properties: danh sách properties tương ứng với document Mỗi property bao gồm data-type type, kiểu liệu prop type text, keyword, date, double, boolean Chương : Chức Elastic Search • ElasticSearch cho phép bạn truy cập chức đánh mục tìm kiếm liệu Lucene Về chức lập mục bạn có nhiều tuỳ chọn xử lý văn cách lưu trữ văn xử lý • Khi tìm kiếm, bạn có nhiều câu truy vấn lọc để chọn ElasticSearch hiển thị chức thông qua REST API, cho phép bạn cấu hình câu truy vấn JSON điều chỉnh hầu hết cấu hình, cho dù chúng API • Ngồi chức Lucence cung cấp, ElasticSearch cịn bổ xung chức cấp cao (high level), từ nhớ đệm đến phân tích thời gian thực • Ở mức độ trừu tượng khác cách bạn xếp tài liệu: nhiều mục tìm kiếm riêng nhau, bạn đặt loại tài liệu khác mục • ElasticSearch tên gọi co giãn (elastic) Nó phân cụm theo mặc định – bạn gọi cụm (cluter) chí bạn có server – bạn ln ln thêm nhiều server để tăng dụng lượng khả chịu lỗi Chương : hãng sử dụng Elastic Search • Wikimedia • athenahealth • Adobe Systems • Facebook • StumbleUpon Mozilla, • Amadeus IT Group • Quora • Foursquare • Etsy • SoundCloud • GitHub • FDA • CERN • Stack Exchange • Center for Open Science • Reverb • Netflix • Pixabay • Motili • Sophos • Slurm Workload Manager Chương : Kết luận o Elasticsearch search engine o Elasticsearch kế thừa từ Lucene Apache o Elasticsearch thực chất hoặt động web server, có khả tìm kiếm nhanh chóng (near realtime) thơng qua giao thức RESTful o Elasticsearch có khả phân tích thống kê liệu o Elasticsearch chạy server riêng đồng thời giao tiếp thông qua RESTful nên khơng phụ thuộc vào client viết hay hệ thống bạn viết Nên việc tích hợp vào hệ thống bạn dễ dàng, bạn cần gửi request http lên trả kết o Elasticsearch hệ thống phân tán có khả mở rộng tuyệt vời (horizontal scalability) Lắp thêm node cho nó tự động auto mở rộng cho bạn o • Elasticsearch open source phát triển Java o Elascticsearch cơng cụ hỗ trợ việc tìm kiếm mạnh mẽ nhanh chóng, khơng phải dự án áp dụng Elascticsearch hiệu quả, trái lại cịn phát sinh nhiều lỗi khơng mong muốn Vì vậy, xem xét thật kỹ yêu cầu dự án trước áp dụng Elascticsearch Chương : Hướng dẫn cài đặt 8.1 : Cài đặt Elastic Search 10 11 12 13 14 15 16 17 8.2 : Ánh xạ thư mục 18 Chọn đường dẫn : C:\Users\Rijnsu\Downloads\kibana-7.12.0-windows-x86_64\ kibana-7.12.0-windows-x86_64 Vào terminer ,mở thư mục câu lệnh cd+ tên đường dẫn cd + C:\Users\Rijnsu\Downloads\kibana-7.12.0-windows-x86_64\kibana-7.12.0windows-x86_64 Mở sever localhost kibana ta thêm lệnh: \bin\kibana.bat 19 Truy cập địa chỉ: Giao diện : 20 Bắt đầu với Elastic search : Tài liệu tham khảo [1] https://www.elastic.co/downloads/kibana [2] https://www.elastic.co/downloads/elasticsearch [3] https://www.youtube.com/watch?v=SsJjZUSAcFo&ab_channel=XuanThuLab [4] https://www.youtube.com/watch?v=1jij1BQonI&t=257s&ab_channel=XuanThuLab [5] https://www.youtube.com/watch?v=hzaG2Uq60uw&ab_channel=TravelsCode 21 ... Workload Manager Chương : Kết luận o Elasticsearch search engine o Elasticsearch kế thừa từ Lucene Apache o Elasticsearch thực chất hoặt động web server, có khả tìm kiếm nhanh chóng (near realtime)... chiều ngang Hỗ trợ tìm kiếm từ khóa tìm kiếm bị lỗi Hỗ trợ Elasticsearch client Java, Php, JS, Ruby,… Tốc độ: dùng elasticsearch trả giá trị nhanh, cần tìm kiếm term trả giá trị liên quan tới... liệu Elasticsearch thiết kế cho mục đích search, với nhiệm vụ khác ngồi search CRUD (Create Read Update Destroy) elasticsearch so với database khác Mongodb, Mysql … Do người ta dùng elasticsearch