Sự mở rộng ngôn ngữ truy vấn trong eXist

Một phần của tài liệu Cơ sở dữ liệu XML trong tổ chức quản lý ngân hàng câu hỏi theo tiêu chuẩn QTI (Trang 55)

Đặc điểm Xpath chỉ định nghĩa giới hạn ít các hàm để tìm kiếm cho một xâu

đưa ra trong nôi dung ký tự của một nút. Đây là một điểm yếu nếu một người nào

đó muốn tìm qua tất cả các tài liệu chứa các tập văn bản lớn. Đối với nhiều kiểu tài liệu, các hàm chuẩn cung cấp sẽ không đưa ra các kết qủa thoả mãn. eXist

cung cấp 2 phép toàn truyền thống và một số hàm mở rộng để cung cấp khả năng truy cập tới nội dung fulltext của các nút. Ví dụ:

//SCENE[SPEECH[SPEAKER &= ’witch’ and near(LINE,‘fenny snake’]]

&=“ là một toán tử tìm kiếm văn bản đặc biệt. Nó sẽ chọn các nút ngữ cảnh bao gồm toàn bộ các từ được tách nhau bởi khoảng trống ở bên phải đối số. Để tìm các nút chứa bất kỳ từ nào thì sử dụng phép “|=”. Thứ tự của các từ là không quan trọng. Cả hai toán tử này đều hỗ trợ các ký tự đại diện trong từ tìm kiếm.

Để tác động một thứ tự lên các từ tìm kiếm hàm near(node set, string, [distance]) chọn các nút trong tập nút mà có giá trị gần với đối số thứ hai nhất và theo đúng thứ tự. Để so sánh các mẫu xâu phức tạp, cú pháp biểu thức đường dẫn được hỗ

trợ qua các hàm bổ sung.

Toàn bộ việc mở rộng tìm kiếm fulltext sử dụng tệp chỉ số ngược “words.dbx”, tệp này ánh xạ chính xác các từ sang một danh sách có thứ tự của tài liệu và các định danh nút duy nhất. Do đó, trong khi các toán tử bằng cũng là các hàm chuẩn XPath như ràng buộc đòi hỏi eXist thực hiện duyệt đầy đủ trên nội dung của mỗi nút trong một tập nút ngữ cảnh, mở rộng tìm kiếm fulltext nhờ

cậy hoàn toàn vào các thông tin lưu trong chỉ số.

Một phần của tài liệu Cơ sở dữ liệu XML trong tổ chức quản lý ngân hàng câu hỏi theo tiêu chuẩn QTI (Trang 55)