Luận văn Ứng dụng mã nguồn mở Elasticsearch vào hệ thống tìm kiếm danh bạ Y tế hiệu quả
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Ứng dụng mã nguồn mở Elasticsearch vào hệ thống tìm kiếm danh bạ Y tế hiệu quả", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
luan_van_ung_dung_ma_nguon_mo_elasticsearch_vao_he_thong_tim.pdf
Nội dung tài liệu: Luận văn Ứng dụng mã nguồn mở Elasticsearch vào hệ thống tìm kiếm danh bạ Y tế hiệu quả
- BỘ GIÁO DỤC VIỆN HÀN LÂM NGUY VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN Ễ HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ N VĂN THÌN VĂN Nguyễn Văn Thìn H Ệ TH Ố NG THÔNG TIN THÔNG NG ỨNG DỤNG MÃ NGUỒN MỞ ELASTICSEARCH VÀO HỆ THỐNG TÌM KIẾM DANH BẠ Y TẾ HIỆU QUẢ LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH 2021 Thành phố Hồ Chí Minh - 2021
- BỘ GIÁO DỤC VIỆN HÀN LÂM VÀ ĐÀO TẠO KHOA HỌC VÀ CÔNG NGHỆ VN HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ Nguyễn Văn Thìn ỨNG DỤNG MÃ NGUỒN MỞ ELASTICSEARCH VÀO HỆ THỐNG TÌM KIẾM DANH BẠ Y TẾ HIỆU QUẢ Chuyên ngành : Hệ Thống Thông Tin. Mã số : 8480104 LUẬN VĂN THẠC SĨ NGÀNH MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRẦN TRỌNG TOÀN Thành phố Hồ Chí Minh – 2021
- i LỜI CAM ĐOAN Tôi cam đoan luận văn “Ứng dụng mã nguồn mở ElasticSearch vào hệ thống tìm kiếm danh bạ y tế hiệu quả” là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của Thầy TS Trần Trọng Toàn. Sự gần gũi và nhiệt tình hướng dẫn của thầy là nguồn động lực rất lớn đối với tôi trong suốt thời gian thực hiện. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa từng được ai công bố trong bất kỳ công trình nào khác. Thành phố Hồ Chí Minh, ngày tháng năm 2021 Học viên thực hiện Nguyễn Văn Thìn
- ii LỜI CẢM ƠN Tôi xin gửi lời cảm ơn sâu sắc đến thầy TS. Trần Trọng Toàn đã tận tình hướng dẫn và giúp đỡ tôi trong suốt quá trình thực hiện luận văn. Cảm ơn quý thầy cô Khoa Công Nghệ Thông Tin và Viễn Thông, cũng như các Thầy Cô của Học Viện Khoa học và Công Nghệ, quý thầy cô tham gia giảng dạy và truyền đạt kiến thức cho bản thân tôi trong suốt khóa học 2018 – 2020. Cho phép tôi gửi lời cảm ơn tới các bạn, đồng nghiệp đã thường xuyên quan tâm, giúp đỡ, chia sẽ kinh nghiệm trong suốt thời gian học tập, nghiên cứu tại Học viện cũng như trong suốt quá trình thực hiện luận văn. Tôi xin bày tỏ sự biết ơn sâu sắc đến cha, mẹ, vợ, những người thân trong gia đình đã luôn ở bên tôi, động viên, dành cho tôi những gì tốt đẹp nhất trong suốt quá trình thực hiện luận văn này. Cuối cùng tôi xin chân thành cảm ơn Công ty Cổ phần MediHub đã tạo điều kiện giúp tôi thực hiện tốt luận văn. Trân trọng cảm ơn!
- iii MỤC LỤC LỜI CAM ĐOAN ........................................................................................................ i LỜI CẢM ƠN ............................................................................................................. ii MỤC LỤC ................................................................................................................. iii DANH MỤC VIẾT TẮT ........................................................................................... iv DANH MỤC CÁC BẢNG ......................................................................................... vi DANH MỤC CÁC HÌNH MINH HỌA ................................................................... vii MỞ ĐẦU ..................................................................................................................... 1 CHƯƠNG 1 - TỔNG QUAN VỀ HỆ THỐNG TÌM KIẾM THÔNG TIN ............... 4 1.1 Khái niệm về tìm kiếm thông tin ....................................................................... 4 1.2 Khái niệm về hệ thống tìm kiếm thông tin ........................................................ 6 1.2.1 Khái niệm về hệ thống tìm kiếm thông tin .................................................. 6 1.2.2 Các bộ phận cấu thành hệ thống tìm kiếm thông tin ................................... 6 CHƯƠNG 2 - GIỚI THIỆU BÀI TOÁN VÀ LỰA CHỌN CÔNG NGHỆ .............. 9 2.1 Giới thiệu bài toán ............................................................................................. 9 2.2 Phương pháp giải quyết ..................................................................................... 9 2.3 Tổng quan ElasticSearch ................................................................................. 10 2.3.1 Khái niệm về ElasticSearch ....................................................................... 10 2.3.2 Các khái niệm cần biết trong ElasticSearch .............................................. 13 2.3.3. Analyzers và mô hình truy hồi thông tin của ElasticSearch .................... 21 2.3.4. Query DSL (domain- Specific Language) trong ElasticSearch .............. 29 2.3.5 Mô hình truy hồi thông tin của ElasticSearch ........................................... 36 CHƯƠNG 3. THỰC NGHIỆM XÂY DỰNG WEBSITE TÌM KIẾM DANH BẠ Y TẾ .............................................................................................................................. 45 3.1 Phân tích .......................................................................................................... 45 3.2 Thiết kế ............................................................................................................ 46 3.3 Cài đặt .............................................................................................................. 55 3.4 Giao diện .......................................................................................................... 55
- iv 3.4.1. Giao diện cho người sử dụng ................................................................... 55 3.4.2. Giao diện cho người quản trị .................................................................... 64 3.5 Đánh giá và thử nghiệm ................................................................................... 66 3.5.1. Mô hình kiến trúc ứng dụng thử nghiệm .................................................. 66 3.5.2. Kịch bản và kết quả .................................................................................. 67 3.5.3 Đánh giá kết quả nghiên cứu ..................................................................... 70 CHƯƠNG 4. KẾT LUẬN ......................................................................................... 72 DANH MỤC TÀI LIỆU THAM KHẢO .................................................................. 73
- v DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT CNTT Công nghệ thông tin CSDL Cơ sở dữ liệu Server Máy chủ Document Tài liệu Index Chỉ mục ES ElasticSearch EHR Hồ sơ sức khỏe điện tử IR Information Retrieval Shard Phân đoạn Query Truy vấn DSL domain- Specific Language URL Địa chỉ website Term Từ khóa tìm kiếm Boost Tăng cường API Application Programming Interface RESTful API Một tiêu chuẩn trong việc thiết kế API row Dòng table bảng là 1 thuật ngữ được sử dụng trong mạng máy tính để mô tả cách thức truyền tin được gửi từ 1 điểm Unicast đến 1 điểm khác link Liên kết
- vi DANH MỤC CÁC BẢNG Bảng 1: Số liệu mapping các từ khóa. ...................................................................... 53 Bảng 2: Kịch bản tìm kiếm. ....................................................................................... 68
- vii DANH MỤC CÁC HÌNH MINH HỌA Hình 1: Lịch sử hình thành công ty ElasticSearch ................................................... 10 Hình 2: Các tập đoàn sử dụng ElasticSearch ........................................................... 11 Hình 3: Các đối thủ của ElasticSearch ..................................................................... 11 Hình 4: Bảng so sánh các dịch vụ ............................................................................. 12 Hình 5: Hệ thống phân tán của ElasticSearch ......................................................... 13 Hình 6: Các khái niệm cần biết trong ElasticSearch................................................ 13 Hình 7: Index trong ElasticSearch ............................................................................ 14 Hình 8: Sharding trong Index ................................................................................... 15 Hình 9: Primary Shard và Replica Shard ................................................................. 15 Hình 10: quá trình chuyển dữ liệu ............................................................................ 17 Hình 11: Cluster trong ElasticSearch ....................................................................... 18 Hình 12: Ví dụ về sơ đồ cơ sở dữ liệu của Mapping ................................................ 19 Hình 13: Analyzer trong ElasticSearch .................................................................... 21 Hình 14: Kết quả tìm kiếm Match all query .............................................................. 30 Hình 15: Kết quả Match query.................................................................................. 30 Hình 16: Kết quả Match query thêm and .................................................................. 31 Hình 17: Kết quả Match phrase query ...................................................................... 31 Hình 18: Kết quả Match Phrase Prefix Query ......................................................... 32 Hình 19: Kết quả Multi Match Query ....................................................................... 32 Hình 20: Query có các parameters ........................................................................... 33 Hình 21: Query với format ngày ............................................................................... 33 Hình 22: Wildcard Query .......................................................................................... 34 Hình 23: Bool Query ................................................................................................. 34 Hình 24: Fuzzy Query ............................................................................................... 36 Hình 25: B25M .......................................................................................................... 38 Hình 26: BM25 tiệm cận ........................................................................................... 40 Hình 27: BM25 với độ dài trung bình ....................................................................... 41 Hình 28: Mô hình tìm kiếm văn bản tiếng Việt ......................................................... 46 Hình 29: lược đồ về Analyzer ................................................................................... 47 Hình 30: lược đồ cơ sở dữ liệu Danh bạ y tế ............................................................ 53 Hình 31: Mô hình cho người sử dụng ....................................................................... 54 Hình 32: giao diện gợi ý khi nhập từ khóa ............................................................... 56 Hình 33: kết quả tìm kiếm có dấu ............................................................................. 56 Hình 34: kết quả tìm kiếm tiếng Việt không dấu ....................................................... 57
- viii Hình 35: Kết quả tìm kiếm ........................................................................................ 58 Hình 36: Kết quả theo định vị ................................................................................... 59 Hình 37: Tìm kiếm theo chuyên khoa ........................................................................ 61 Hình 38 thông tin chi tiết .......................................................................................... 61 Hình 39: thông tin bản đồ theo địa chỉ của Profile .................................................. 62 Hình 40: nút lưu profile ............................................................................................ 62 Hình 41: hỏi đáp. ...................................................................................................... 63 Hình 42: Thông tin đã lưu, thích ............................................................................... 63 Hình 43: Trang quản trị Admin ................................................................................ 64 Hình 44: Cập nhật dữ liệu mới ................................................................................. 65 Hình 45: Quản trị tài khoản ...................................................................................... 65 Hình 46 Kiến trúc Mô hình thử nghiệm .................................................................... 67

