Vietbando Search Engine Server

Tài liệu tương tự
PHẦN 8: LỊCH TUẦN I. Giới thiệu: Chương trình lịch tuần với các tính năng như sau: Lịch chạy trên giao diện WEB với CSDL chạy tập trung. Theo dõi lịch

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Tài liệu Hướng dẫn sử dụng

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Chương trình dịch

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 1.2 Công Ty TNHH Uratek Website: TP.HCM, 11/2017

Chương 6 SẢN XUẤT Nguyên tắc Với điều kiện nhà xưởng và trang thiết bị hiện có, quá trình sản xuất phải đủ khả năng để bảo đảm thu được sản phẩm đạt c

Hỗ trợ ôn tập [ĐỀ CƯƠNG CHƯƠNG TRÌNH ĐẠI HỌC] BÍ QUYẾT NGHIÊN CỨU KEYWORD HIỆU QUẢ Đây chính là bước đầu tiên bạn phải t

CÔNG TY TNHH GIẢI PHÁP TRỰC TUYẾN TOTAL 60 Đường 18, Phường Hiệp Bình Chánh, Quận Thủ Đức, TP.HCM MST:

Ch­ng I

Microsoft Word - Khai thac AWS EC2_Web hosting.docx

Hướng dẫn sử dụng

Nghiên cứu ứng dụng mạng nơtron nhân tạo hỗ trợ công tác chọn thầu thi công ở Việt Nam

Làm quen với chương trình Microsoft Excel Làm quen với chương trình Microsoft Excel Bởi: unknown Làm quen với chương trình Những thao tác đầu tiên với

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Công Ty TNHH Uratek Website: TP.HCM, 08/2017

DocuWorks 9 Phần mềm quản lý tài liệu

TẬP ĐOÀN VIỄN THÔNG QUÂN ĐỘI VIETTEL TRUNG TÂM CÔNG NGHỆ THÔNG TIN 1 HƯỚNG DẪN SỬ DỤNG HỆ THỐNG QUẢN LÝ VÀ ĐIỀU HÀNH VĂN BẢN ĐIỆN TỬ Đối tượng Văn thư

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Những khái niệm cơ bản của hệ điều hành mạng Windows Những khái niệm cơ bản của hệ điều hành mạng Windows Bởi: unknown Giới thiệu tổng quan về Windows

Slide 1

I

Quy tắc Ứng xử của chúng tôi Sống theo giá trị của chúng tôi

Truy vấn, Ràng buộc, Trigger Truy vấn, Ràng buộc, Trigger Bởi: Ths. Phạm Hoàng Nhung SQL (Structured Query Language) là ngôn ngữ truy vấn cấu trúc đượ

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Giới thiệu MSB trân trọng cảm ơn Quý Doanh nghiệp đã lựa chọn dịch vụ M-Banking của chúng tôi. Sứ mệnh đáp ứng tốt nhất các nhu cầu của Khách hàng Doa

Tom tat luan van - Nhung cuoi.doc

CÁC CHỦ BIỆT THỰ FLAMINGO Số: 01/2016 (V/v: giải quyết các vấn đề liên quan đến quyền sở hữu, sử dụng biệt thự khai thác chương trình BTVV) CỘNG HÒA X

VIE_v5.pages

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

APPROACH S60 Hướng dẫn sử dụng

Chương trình dịch

Microsoft Word - status_code_trong_servlet.docx

Yeastar S50 VoIP PBX Installation Guide Version 1.0 Jun. 2016

Microsoft PowerPoint - Bài 4.5.ppt

11 tính năng hay trong Windows 10 mà Windows 8 không có Windows 10 là một sự cải tiến đáng kể so với Windows 8. Ngoài giao diện được làm mới, hầu hết

Microsoft Word - IP Law 2005 (Vietnamese).doc

Thiết kế website động với mã nguồn Drupal 7 - Phần 1

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI LILIN DVR 708/716/ Cấu tạo đầu ghi 1.1 Đầu ghi DVR 816 Mặt trước: Stt Tên Chức năng 1 Phím sang trái Di chuyển sang tr

XJ-UT311WN_XJ-UT351WN

Nghị định số 39/2018/NĐ-CP CHÍNH PHỦ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Số: 39/2018/NĐ-CP Hà Nội, ngày 11 tháng 3 năm 2018

2014 Encyclopædia Britannica, Inc.

ĐÁP ÁN ĐỀ THI THỬ THPT QUỐC GIA MÔN VẬT LÝ (LẦN 1)

HEINONLINE

Microsoft Word - L?P TRÌNH T?NG ÐÀI SIEMENS HIPATH 1120, HIPATH 1150, HIPATH 1190

Công ty CP công nghệ thẻ NACENCOMM HÓA ĐƠN ĐIỆN TỬ CA2 CÔNG TY CỔ PHẦN CÔNG NGHỆ THẺ NACENCOMM TÀI LIỆU NGHIỆP VỤ HÓA ĐƠN ĐIỆN TỬ CA2 Hà Nội 12/2017 1

Bài 3 Tựa bài

THƯ VIỆN TRUNG TÂM ĐHQG-HCM PHÒNG PHỤC VỤ ĐỘC GIẢ * I. CỔNG TRA CỨU & TRUY CẬP TÀI LIỆU KHOA HỌC 3 I. MỤC LỤC TRỰC TUYẾN TVTT Tìm lướt:

Microsoft Word - SSI - QD HDQT Quy che quan tri noi bo doc

Tool 1 Google Docs

Hướng dẫn sử dụng Adobe Presenter Pro 7.0

02-2大使館説明資料VN(特定技能説明会)

Microsoft Word - bai2.doc

Hợp đồng Chính

CHÍNH PHỦ Số: 01/2017/NĐ-CP CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Hà Nội, ngày 06 tháng 01 năm 2017 NGHỊ ĐỊNH Sửa đổi, bổ sun

Công Ty Công Nghệ Tin Học Mũi Tên Vàng Địa chỉ: Số 7 Nam Quốc Cang, Quận 1, TP HCM Điện thoại: Hotline: Website:

Tạp chí Khoa học công nghệ và Thực phẩm số 11 (2017) NGHIÊN CỨU ỨNG DỤNG MÃ NGUỒN MỞ JOOMLA XÂY DỰNG WEBSITE HỖ TRỢ DẠY HỌC VẬT LÝ ĐẠI CƢƠNG Ngu

Chính sách bảo mật của RIM Research In Motion Limited và các công ty con và công ty chi nhánh ("RIM") cam kết có một chính sách lâu dài trong việc bảo

Microsoft Word - su_dung_sqlite_voi_php.docx

Global Employee Personal Information Privacy Notice

HƯỚNG DẪN SỬ DỤNG HỆ THỐNG E-LEARNING Version 2.9 Công Ty TNHH Uratek Website: TP.HCM, 7/2018

Bài 4 Tựa bài

View, Procedure, Function & Trigger

Microsoft Word - 10 quy tac then chot ve bao mat.doc

TRÁCH NHIỆM GIẢI TRÌNH: VƯƠN TỚI NHỮNG CHUẨN MỰC CỦA MỘT NỀN HÀNH CHÍNH PHỤC VỤ PHÁT TRIỂN Phạm Duy Nghĩa Phần viết dưới đây giải thích các kênh thiết

Quyết định số 218/2000/QĐ-BTC ngày 29/12/2000

TRUNG TÂM ĐÀO TẠO LẬP TRÌNH VIÊN QUỐC TẾ

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRUNG TÂM LUYỆN THI THỦ KHOA Hồ Chí Minh - Năm

QUY TẮC, ĐIỀU KHOẢN SẢN PHẨM BẢO HIỂM HỖN HỢP GIÁO DỤC TÍCH HỢP BỆNH LÝ NGHIÊM TRỌNG MỞ RỘNG (Được phê chuẩn theo Công văn số 1997/BTC-QLBH ngày 20 th

Báo cáo Kế hoạch hành động TÁI CƠ CẤU NGÀNH THỦY SẢN THEO HƯỚNG NÂNG CAO GIÁ TRỊ GIA TĂNG VÀ PHÁT TRIỂN BỀN VỮNG

TÀI LIỆU HƯỚNG DẪN SỬ DỤNG ỨNG DỤNG HÓA ĐƠN ĐIỆN TỬ CYBERBILL CLOUD V2.0 Phiên bản V2.0

MEDIKEY_Whitepaper_v1.2 (VET)

TRUNG TÂM KHUYẾT TẬT VÀ PHÁT TRIỂN Bản tin Tháng 05 năm 2018 LỜI NÓI ĐẦU Được thành lập vào 03/12/2005, dưới sự hỗ trợ ban đầu của Quỹ Ford, Trung tâm

LỜI CẢM ƠN

Bài 4 Tựa bài

Easy UI Solution 3 Hướng dẫn sử dụng

Nghị định số 159/2013/NĐ-CP ngày 12/11/2013 quy định xử phạt vi phạm hành chính trong hoạt động báo chí, xuất bản

Microsoft Word - Co so du lieu - cap nhat

CHUYÊN ĐỀ 7 KIỂM ĐỊNH CHẤT LƯỢNG GIÁO DỤC VÀ ĐÁNH GIÁ NGOÀI TRƯỜNG MẦM NON ThS. Hồ Đắc Thụy Thiên Thi

Trung Tâm Gia Sư Tài Năng Việt A.PHẦN TRẮC NGHIỆM: (6,0 điểm) ĐỀ 1 I. Hãy điền đáp án đúng vào bảng đáp án ở phần bài làm:

Bài 15: QUẢN LÝ BẢNG TÍNH 15.1 Các khái niệm Ô (cell) là đơn vị cơ sở của bảng tính, mỗi ô có địa chỉ riêng, địa chỉ gồm Chỉ số cột Chỉ số dòng, ví dụ

Hướng dẫn KHG sử dụng dịch vụ BaaS do Mobifone Global cung cấp Tổng Công ty Viễn thông MOBIFONE là nhà cung cấp dịch vụ Viễn thông và CNTT hàng đầu tạ

PHẦN I

Dell UltraSharp U2518D Trình Quản Lý Màn Hình Dell Sổ tay hướng dẫn sử dụng

Công văn số 879/VTLTNN-NVĐP ngày 19/12/2006 của Cục Văn thư và Lưu trữ Nhà nước v/v hướng dẫn tổ chức tiêu hủy tài liệu hết giá trị

18 CÔNG BÁO/Số /Ngày NGÂN HÀNG NHÀ NƯỚC VIỆT NAM NGÂN HÀNG NHÀ NƯỚC VIỆT NAM Số: 26/2015/TT-NHNN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC DUY TÂN KHOA DU LỊCH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do Hạnh phúc Đà Nẵng, ngày 20 tháng 01 năm 2019 ĐỀ CƯƠNG ÔN TẬP TỐ

Microsoft Word - Phan 8H

KIỂM TOÁN NHÀ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự do - Hạnh phúc Số: 1173/QĐ-KTNN Hà Nội, ngày 27 tháng 7 nă

1 HƯỚNG DẪN TÌM VÀ ĐÁNH GIÁ THÔNG TIN TRÊN INTERNET I. Công cụ tìm tin trên Internet Công cụ tìm tin trên Internet được thiết kế để hỗ trợ người sử dụ

Nokia 7 Plus Hướng dẫn sư dụng Bản phát hành vi-vn

HIỆP ĐỊNH GIỮA CHÍNH PHỦ NƯỚC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM VÀ CHÍNH QUYỀN KHU HÀNH CHÍNH ĐẶC BIỆT HỒNG KÔNG CỦA NƯỚC CỘNG HÒA NHÂN DÂN TRUNG HOA

Hướng dẫn chuyển tiền trong và ngoài Techcombank Chức năng này giúp Quý khách chuyển tiền giữa các tài khoản của doanh nghiệp; hoặc chuyển tiền cho cá

QUỐC HỘI

NẮM BẮT XU HƯỚNG BỨT PHÁ THÀNH CÔNG 1

MCSA 2012: Distributed File System (DFS) MCSA 2012: Distributed File System (DFS) Cuongquach.com Ở bài học hôm nay, mình xin trình bày về Distributed

Microsoft Word - khoahochethong.docx

Đề cương chương trình đại học

Thủ tục tố tụng tại phiên tòa hình sự sơ thẩm Nguyễn Quỳnh Trang Khoa Luật Luận văn ThS ngành: Luật Hình sự; Mã số: Người hướng dẫn: TS. Nguy

ĐỀ CƯƠNG BÁO CÁO CHÍNH TRỊ TRÌNH ĐẠI HỘI ĐẢNG BỘ TỈNH LẦN THỨ XV

Bản ghi:

VIETBANDO SEARCH ENGINE ABSTRACT Vietbando Search Engine Server (VSS) là một dịch vụ cung cấp các chức năng tìm kiếm thông tin/tài liệu được xây dựng trên nền tảng mã nguồn mở Apache Lucene/Solr cùng với các phần mở rộng do Vietbando tự xây dựng SERVER [Document subtitle]

Mục lục I. Giới thiệu.... 2 II. Mô tả chức năng.... 2 1. Thêm/Xóa/Sửa tài liệu.... 2 1.1. Thêm tài liệu.... 2 1.2. Xóa tài liệu.... 3 1.3. Sửa tài liệu.... 3 2. Sử dụng các đặc trưng của Tiếng Việt trong phân tích truy vấn trên tài liệu Tiếng Việt. 4 2.1. Từ có dấu không dấu.... 4 2.2. Từ ghép tên riêng.... 4 2.3. Từ đồng nghĩa.... 4 3. Tìm kiếm toàn văn.... 4 3.1. Tìm kiếm theo từ.... 5 3.2. Tìm kiếm theo Field.... 5 3.3. Tìm kiếm Wildcard.... 6 3.4. Tìm kiếm từ gần giống (Fuzzy).... 6 3.5. Tìm kiếm cụm từ gần giống.... 7 3.6. Tìm kiếm theo Range.... 7 4. Tìm kiếm không gian.... 7 4.1. NearbySearch... 8 4.2. PRSearch.... 9 4.3. RegionSearch.... 11 5. Phân tích Thống kê trên dữ liệu.... 12 5.1. Thống kê theo từ.... 12 5.2. Thống kê theo Query... 12 5.3. Thống kê theo miền giá trị.... 12 6. Phân quyền tài liệu.... 13

I. GIỚI THIỆU. Vietbando Search Engine Server (VSS) là một dịch vụ cung cấp các chức năng tìm kiếm thông tin/tài liệu được xây dựng trên nền tảng mã nguồn mở Apache Lucene/Solr cùng với các phần mở rộng do Vietbando tự xây dựng. Tính năng chính của VSS bao gồm khả năng tìm kiếm toàn văn (full text search - FTS), đặc biệt tập trung vào khả năng xử lý tìm kiếm tiếng Việt, đánh dấu (highlighting) kết quả, phân tích thống kê trên dữ liệu, tích hợp với các hệ cơ sở dữ liệu (bao gồm SQL, NoSQL), xử lý nhiều kiểu văn bản (ví dụ: Word, PDF), tìm kiếm không gian (spatial search) và hỗ trợ phân quyền trên tài liệu. VSS có độ tin cậy cao, có khả năng tùy biến cao, mở rộng tốt bằng cách có thể làm việc trên hệ thống phân tán. II. MÔ TẢ CHỨC NĂNG. 1. Thêm/Xóa/Sửa tài liệu. Với chức năng cung cấp một dịch vụ trọn gói về tìm kiếm thông tin/tài liệu thì chức năng thêm/xóa/sửa nội dung tài liệu là một chức năng không thể thiếu của VSS. Với chức năng này, VSS cung cấp các hàm dịch vụ giúp tạo mới các index, thêm mới các tài liệu vào hệ thống, xóa đi các tài liệu không cần thiết và sửa nội dung những tài liệu cần chỉnh sửa nội dung. 1.1. Thêm tài liệu. Hàm dịch vụ: public UpdateIndexResponse Add(DocumentAddRequest request) Trong đó, tham số input là một yêu cầu thêm tài liệu DocumentAddRequest được định nghĩa gồm các thuộc tính: Documents: tập các tài liệu cần được thêm vào index. Nếu index chưa có thì index sẽ được tạo ra trước. Key: tên của index. BuildAutoSuggest: cho biết có tạo dữ liệu cho Auto Suggest hay không. 2

Optimize: cho biết có optimize index khi hoàn thành việc thêm tài liệu hay không. CommitWithin: chỉ định số thời gian (ms) các tài liệu thêm vào chắc chắn được lưu xuống đĩa cứng sau đó. Kết quả output UpdateIndexResponse đơn giản chỉ chứa các thông tin thông báo về kết quả việc thêm tài liệu vào như thế nào, gồm có: Time: tổng thời gian thêm tài liệu. Status: tình trạng của hệ thống sau khi thêm tài liệu. Thành công hay không thành công. Message: các thông báo bổ sung làm rõ nghĩa cho Status hơn. 1.2. Xóa tài liệu. Hàm dịch vụ: public UpdateIndexResponse Delete(DocumentDeleteRequest request) Trong đó, tham số input là một yêu cầu thêm tài liệu DocumentDeleteRequest được định nghĩa gồm các thuộc tính: Documents: tập các tài liệu cần được xóa khỏi index. Index bắt buộc phải tồn tại. Key: tên của index. Optimize: cho biết có optimize index khi hoàn thành việc xóa tài liệu hay không. CommitWithin: chỉ định số thời gian (ms) các tài liệu sau khi xóa chắc chắn được xóa khỏi đĩa cứng sau đó. DeleteQuery: câu truy vấn để xóa các tài liệu nào thỏa câu truy vấn đó. DeleteLayer: xóa tất cả các tài liệu thuộc lớp tài liệu này. 1.3. Sửa tài liệu. Thực chất việc sửa tài liệu là quá trình xóa tài liệu cũ và thêm tài liệu mới sau khi 3

chỉnh sửa nội dung. 2. Sử dụng các đặc trưng của Tiếng Việt trong phân tích truy vấn trên tài liệu Tiếng Việt. 2.1. Từ có dấu không dấu. VSS hỗ trợ khả năng tìm kiếm bằng các truy vấn Tiếng Việt có dấu và không dấu như nhau. Điều nay được thực hiện thông qua bộ phân tích nội dung tài liệu khi trong quá trình index tài liệu. 2.2. Từ ghép tên riêng. Một trong số các đặc trưng quan trọng của Tiếng Việt đó là từ ghép. Với từ ghép, việc tách từ trở nên vô cùng quan trọng bởi khi tách đôi một từ ghép ra thì nghĩa của nó sẽ hoàn toàn mất đi, không còn nguyên vẹn nữa. VSS hỗ trợ rất tốt vấn đề này khi có khả năng phát hiện các từ ghép trong nội dung tài liệu cũng như trong câu truy vấn để khi thực hiện quá trình phân tích tài liệu khi index cũng như phân tích nội dung truy vấn các từ ghép (nếu có) sẽ không bị tách rời ra (thành các Single Term) tránh bị thay đổi ý nghĩa. Điều tương tự đối với tên riêng. Cũng như từ ghép, tên riêng là một dạng không thể tách rời các thành phần trong đó nhằm tránh thay đổi nội dung không mong muốn. 2.3. Từ đồng nghĩa. Nhằm cung cấp khả năng tìm kiếm tốt hơn, tăng số lượng kết quả tìm thấy phù hợp với nội dung truy vấn hơn, VSS hỗ trợ vấn đề xử lý từ đồng nghĩa trong quá trình index tài liệu. Theo đó khi index tài liệu, ứng với một từ đơn hay từ ghép được hệ thống phân tích được, hệ thống sẽ tìm các từ đồng nghĩa với nó để đưa thêm vào nội dung index. 3. Tìm kiếm toàn văn. Hàm dịch vụ: public DocSearchResponse TextSearch(DocSearchRequest request) Trong đó, input là một yêu cầu tìm kiếm gồm các thuộc tính sau: Key: index sẽ tìm kiếm trên đó. 4

Query: câu truy vấn. Rows: số kết quả tối đa được trả về trên 1 trang kết quả. Start: chỉ số của kết quả đầu tiên được lấy ra trong tập các kết quả hệ thống tìm thấy. Kết quả trả về là một DocSearchResponse bao gồm các thông tin thông báo về kết quả tìm kiếm, gồm: Documents: tập kết quả tìm thấy. Số lượng tối đa của tập này chính là giá trị Rows được chỉ định trong input. TotalResult: tổng số kết quả tìm thấy. Time: tổng thời gian tìm kiếm. Câu truy vấn (Query) trong nội dung input bên trên sẽ thuộc về một trong các dạng truy vấn sau: 3.1. Tìm kiếm theo từ. Một câu truy vấn sẽ được tách thành các từ và các toán tử (AND/OR/NOT). Có 2 loại từ, đó là từ đơn và cụm từ. Từ đơn: ví dụ như hello, world. Cụm từ là cụm các từ đơn theo thứ tự ví dụ như hello world. Nhiều từ với nhau hoặc từ với cụm từ có thể kết hợp trong 1 câu truy vấn bằng các toán tử (AND/OR/NOT). Khi tìm kiếm theo từ, hệ thống sẽ tự động tìm trên tất cả các trường có index các từ được tách ra từ truy vấn. 3.2. Tìm kiếm theo Field. VSS hỗ trợ tìm kiếm dữ liệu theo trường (field). Khi thực hiện tìm kiếm, người 5

dùng có thể chỉ định cụ thể các trường dữ liệu mình cần tìm hoặc hệ thống sẽ tìm trong các trường mặc định được chỉ định sẵn trong cấu hình hệ thống, hoặc hệ thống sẽ tìm hết trên tất cả các trường có index toàn văn. Cú pháp tìm kiếm theo field: <tên field>:<term>[and OR NOT]<term> Nếu tên field không có thì hệ thống sẽ tìm trong default field. Ví dụ: index gồm có 2 field Title và Content và Content chính là default field. Nếu muốn tìm những tài liệu nào có tiêu đề là Hồ Sơ Cá Nhân mà nội dung có chứa Nguyễn Văn A thì thực hiện truy vấn như sau: Title: Hồ Sơ cá Nhân AND Content: Nguyễn Văn A. Hoặc: Title: Hồ Sơ Cá Nhân AND Nguyễn Văn A. 3.3. Tìm kiếm Wildcard. VSS cũng hỗ trợ khả năng tìm kiếm Wildcard bằng các ký tự? hoặc *. Tuy nhiên, chức năng này không hỗ trợ cho tìm kiếm cụm từ. Dấu? dùng trong trường hợp thay thế cho 1 ký tự bất kỳ, dấu? có thể được dùng ở vị trí bất kỳ trong từ. Ví dụ:?otel hoặc h?tel hoặc hote? đều có thể match với Term hotel. Dấu * dùng trong trường hợp thay thế cho không hoặc nhiều ký tự bất kỳ, dấu * cũng có thể được dùng ở vị trí bất kỳ. Ví dụ: *ravell hoặc ca*velle hoặc cara* đều có thể match với Term caravelle. 3.4. Tìm kiếm từ gần giống (Fuzzy). VSS hỗ trợ khả năng tìm kiếm gần giống dựa trên thuật toán Levenshtein Distance hoặc Edit Distance. Để thực hiện 1 câu truy vấn tìm gần giống, ta sử dụng ký tự ~ ở phía sau từ truy vấn kèm theo đó là 1 giá trị trong khoảng [0..1] để định nghĩa mức 6

độ gần giống được chấp nhận. Kết quả tìm thấy bắt buộc phải có mức độ gần giống lớn hơn hay bẳng giá trị đó. Nếu không chỉ định giá trị cụ thể thì giá trị mặc định là 0.5. sẽ là: Ví dụ: ta cần truy vấn các tài liệu có chứa từ gần giống với từ roam, cú pháp roam~0.5 hoặc roam~ kết quả sẽ là các tài liệu có chứa từ foam hoặc roams. 3.5. Tìm kiếm cụm từ gần giống. Đối với cụm từ, VSS cũng có cách tìm gần giống như đối với từ. Nghĩa là khi truy vấn một cụm từ What a night thì kết quả tìm thấy có thể sẽ có những cụm từ như what a beautiful night, v.v Để thực hiện truy vấn tìm gần đúng cụm từ, ta cũng đặt ký tự ~ ở phía sau cụm từ truy vấn và theo sau đó là một số nguyên chỉ định số từ ngăn cách giữa những từ trong cụm từ. Ví dụ cần tìm các tài liệu có chứa các từ Vietbando và Search theo thứ tự như trên nhưng không cần phải là 1 cụm từ nhưng cũng không ở cách xa nhau quá 10 từ thì truy vấn như sau: Vietbando Search ~10. 3.6. Tìm kiếm theo Range. Tìm kiếm theo range cho phép tìm kiếm các tài liệu thỏa điều kiện giá trị của một hay nhiều field nào đó nằm trong một miền giá trị cần tìm. Miền giá trị tìm kiếm có thể bao gồm hoặc không bao gồm giá trị chặn trên và chặn dưới của miền giá trị. Miền giá trị có thể là số hoặc chuỗi. Ví dụ: Age:[18 TO 30] hoặc Type:[Alex TO Zahia]. 4. Tìm kiếm không gian. VSS hỗ trợ một số vấn đề tìm kiếm không gian như sau: 7

4.1. NearbySearch. Là truy vấn các tài liệu có thông tin về vị trí (dạng hình học là điểm) ở gần một vị trí cần tìm bất kỳ và đồng thời các kết quả tìm thấy sẽ được sắp xếp theo thứ tự từ gần đến xa so với vị trí truy vấn. Với truy vấn dạng này, ngoài các yêu cầu bắt buộc như nội dung tài liệu cần truy vấn thì hệ thống đòi hỏi tài liệu phải có ít nhất 1 trường dữ liệu mô tả về vị trí trong đó. Nếu tài liệu có nhiều hơn 1 trường dữ liệu về vị trí thì khi truy vấn yêu cầu phải nêu rõ trường dữ liệu nào được dùng để lấy thông tin vị trí, nếu không mô tả thì hệ thống sẽ tự động duyệt qua hết tất cả các trường dữ liệu về vị trí để thực hiện truy vấn. Ngoài thông tin về trường dữ liệu thì thông tin về khoảng cách cũng là một thông tin quan trọng, nó cho biết bán kính giới hạn vùng tìm kiếm, nếu không có giá trị này hệ thống sẽ tìm không giới hạn. Hàm dịch vụ: public DocSearchResponse NearbySearch(NearbySearchRequest request) Trong đó, input là một yêu cầu tìm kiếm NearbySearchRequest gồm các thuộc tính sau: Key: index sẽ tìm kiếm trên đó. 8

Query: câu truy vấn. Rows: số kết quả tối đa được trả về trên 1 trang kết quả. Start: chỉ số của kết quả đầu tiên được lấy ra trong tập các kết quả hệ thống tìm thấy. Location: vị trí muốn thực hiện câu truy vấn. Radius: bán kính tìm kiếm tính từ vị trí Location. SpatialField: tên trường dữ liệu lư trữ thông tin về vị trí mà hệ thống sẽ dựa vào đó để tìm kiếm. 4.2. PRSearch. Là truy vấn các tài liệu có thông tin về vị trí (dạng hình học là điểm) ở gần một đoạn path bất kỳ và đồng thời kết quả tìm kiếm sẽ được sắp xếp từ gần đến xa so với đường path truy vấn. Với truy vấn dạng này, ngoài các yêu cầu bắt buộc như nội dung tài liệu cần truy vấn thì hệ thống đòi hỏi tài liệu phải có ít nhất 1 trường dữ liệu mô tả về vị trí trong đó. Nếu tài liệu có nhiều hơn 1 trường dữ liệu về vị trí thì khi truy vấn yêu cầu phải nêu rõ trường dữ liệu nào được dùng để lấy thông tin vị trí, nếu không mô tả thì hệ thống sẽ tự động duyệt qua hết tất cả các trường dữ liệu về vị trí để thực hiện truy vấn. Ngoài thông tin về trường dữ liệu thì thông tin về khoảng cách cũng là một thông tin quan trọng, nó cho biết khoảng cách giới hạn từ đường path mở ra 2 bên để giới hạn vùng tìm kiếm, nếu không có giá trị này thì hệ thống sẽ tìm không giời hạn. Tuy nhiên nếu tìm không giới hạn thì sẽ mất ý nghĩa của chức năng này. 9

Hàm dịch vụ: public DocSearchResponse PRSearch(PathSearchRequest request) Trong đó, input là một yêu cầu tìm kiếm PathSearchRequest gồm các thuộc tính sau: Key: index sẽ tìm kiếm trên đó. Query: câu truy vấn. Rows: số kết quả tối đa được trả về trên 1 trang kết quả. Start: chỉ số của kết quả đầu tiên được lấy ra trong tập các kết quả hệ thống tìm thấy. Path: mô tả bằng định dạng WKT một đường path từ điểm đầu đến điểm cuối. Radius: bán kính vùng đệm của Path. SpatialField: tên trường dữ liệu lư trữ thông tin về vị trí mà hệ thống sẽ dựa vào đó để tìm kiếm. 10

4.3. RegionSearch. Tìm các tài liệu có thông tin về hình dáng (dạng hình học là đa giác) thỏa các điều kiện tương tác (như giao nhau, chứa trong, v.v ) với dạng hình học trong truy vấn. Với truy vấn dạng này, ngoài các yêu cầu bắt buộc như nội dung tài liệu cần truy vấn thì hệ thống đòi hỏi tài liệu phải có ít nhất 1 trường dữ liệu mô tả về vị trí hoặc hình dạng trong đó. Nếu tài liệu có nhiều hơn 1 trường dữ liệu về vị trí hoặc hình dạng thì khi truy vấn yêu cầu phải nêu rõ trường dữ liệu nào được dùng để lấy thông tin vị trí hoặc hình dạng, nếu không mô tả thì hệ thống sẽ tự động duyệt qua hết tất cả các trường dữ liệu về vị trí hoặc hình dạng để thực hiện truy vấn. Hàm dịch vụ: public DocSearchResponse RegionSearch(RegionSearchRequest request) Trong đó, input là một yêu cầu tìm kiếm RegionSearchRequest gồm các thuộc tính sau: Key: index sẽ tìm kiếm trên đó. Query: câu truy vấn. Rows: số kết quả tối đa được trả về trên 1 trang kết quả. 11

Start: chỉ số của kết quả đầu tiên được lấy ra trong tập các kết quả hệ thống tìm thấy. Polygon: mô tả bằng định dạng WKT một đa giác dùng làm vùng tìm kiếm tài liệu. SpatialField: tên trường dữ liệu lư trữ thông tin về vị trí mà hệ thống sẽ dựa vào đó để tìm kiếm. 5. Phân tích Thống kê trên dữ liệu. Ngoài các chức năng liên quan đến tìm kiếm truy vấn tài liệu thì VSS cũng hỗ trợ các hàm dịch vụ cho phép lấy các thông tin tổng hợp, thống kê trên tập tài liệu được index. Các hàm dịch vụ về tổng hợp, thống kê được phân loại như sau: 5.1. Thống kê theo từ. Là khả năng đưa ra các báo cáo tổng hợp, thống kê liên quan đến các giá trị độc lập được lưu trong các trường dữ liệu của tài liệu. Ví dụ: trong 1 index gồm các tài liệu về các tụ điểm vui chơi giải trí ở Việt Nam từ trước đến nay, người ta muốn tổng hợp xem tỉnh thành nào có nhiều nơi vui chơi nhất, tỉnh thành nào có ít nhất thì ta sẽ thực hiện một truy vấn thống kê theo từ trên trường dữ liệu là Tỉnh/Thành. 5.2. Thống kê theo Query. Là khả năng đưa ra các báo cáo tổng hợp, thống kê liên quan đến các tài liệu thỏa điều kiện của câu query. Ví dụ: trong 1 index gồm các tài liệu về tình hình học tập của sinh viên ở một trường Đại học, người ta muốn thống kê xem có bao nhiêu sinh viên vừa tốt nghiệp đạt loại giỏi, bao nhiêu loại khá thì ta sẽ thực hiện câu truy vấn thống kê theo query với điều kiện query tương ứng là xếp loại giỏi hay khá. 5.3. Thống kê theo miền giá trị. Là khả năng đưa ra các báo cáo tổng hợp, thống kê liên quan đến các tài liệu thỏa điều kiện trong từng miền giá trị được chỉ định trong truy vấn. Miền giá trị ở đây được định nghĩa gồm có chặn trên, chặn dưới và sau cùng bước nhảy giữa các khoản với nhau. Ví dụ: trong 1 index gồm các tài liệu về tình hình học tập của học sinh ở một 12

trường trung học, người ta muốn thống kê tình hình các em đạt điểm trung bình trong khoảng từ 6.0 -> 7.0 và từ 7.0 -> 8.0 và từ 8.0 -> 9.0, ta sẽ thực hiện 1 truy vấn theo miền giá trị từ 6.0 -> 9.0 với bước nhảy sẽ là 1. 6. Phân quyền tài liệu. VSS hỗ trợ khả năng thiết lập các phân quyền trên mức tài liệu cho các hệ thống tìm kiếm. Điều này có nghĩa là một hệ thống tìm kiếm có thể cho phép hoặc không cho phép một user hay một group các user quyền tương tác đến một hay nhiều tài liệu nào đó. Doc 1 Group 1 Doc 2 Doc 3 Group 3 Group 2 Doc 4 Doc 5 Các đối tượng liên quan: Group: là tập hợp các user có cùng một hay nhiều chức năng có thể tương tác trên một hay nhiều tài liệu nào đó được admin hệ thống phân cho. User: là chủ thể chính thực hiện thao tác tìm kiếm, thêm, xóa, sửa tài liệu, phân quyền cho tài liệu.. Tài liệu: mỗi tài liệu khi được phân cho một Group hay User đều kèm theo các thuộc tính sau: o LocalOnly: cho biết Group hoặc User chỉ có quyền trên tài liệu đó 13

hay còn có quyền trên những tài liệu con kế thừa quyền từ tài liệu đó. o AllowView: thể hiện quyền được xem dành cho Group/User được gắn với tài liệu. o AllowCreate: thể hiện quyền được tạo tài liệu con bên trong tài liệu đó dành cho Group/User được gắn với tài liệu đó. o AllowEdit: thể hiện quyền được chỉnh sửa nội dung tài liệu dành cho Group/User được gắn với tài liệu đó. o AllowSetPermission: thể hiện quyền được cấp phân quyền trên tài liệu đó cho các Group hay User khác dành cho Group/User được gắn với tài liệu đó. o Inherit: cho biết tài liệu này có kế thừa quyền từ tài liệu cha của nó hay không. Nếu là có thì mọi phân quyền từ tài liệu cha đều được áp dụng với tài liệu con. 14