I.1.
Lập
Chỉ Mục – Index của Lucene
I.1.1.
Phương
pháp lập chỉ mục
Một
Documemt có nhiều fields, mỗi fields có nhiều value.Và sau đây là hình vẽ biểu
diển hoạt động lập Index của Lucene
Sau khi
tách các field của document (3 field tạo nên 1 document) sau đó sẽ tiến hành
phân tích và ghi dữ liệu vào Index
Steps 1 :
Chọn đường dẫn lưu Index
Steps 2 :
Tạo Analyzer
cho tài liệu
Steps 3 :
Tạo Document và thêm Fields
Steps 4 :
Lấy Index Writer and thêm Document
Steps 5 :
Đóng Index
I.1.2.
Thành
phần lập chỉ mục Index
·
Directory
1.
Lucene cung cấp nhiều cách để lưu trữ Inverted
Index như database,cơ sở dữ liệu Index
2. IndexWriter và IndexSearcher cung
cấp đồng thời các kiểm soát đến ứng dụng
để chắc chắn sự trọn vẹn của chỉ mục
·
Analyzers
1.
Lucene và nhà phát triển thứ 3
đã phát triển tập hợp phong phú các phân tích xác định trước với những hỗ trợ của các ngôn ngữ khác nhau
2.
Chức năng chính của phân tích
là trả về 1 Token Stream .Một Token
Stream thực hiện như 1 đường ống thác đi qua Tokenizer
tạo bởi tập hợp các token filter khác
3.
Tokenizer phân tích các field của tài
liệu , loại bỏ các cú pháp thành phần và
tạo ra 1 dãy các token.Token gồm có <text, type, start, length, positionIncrement>.s
4.
Token filter xử lí , thay đổi, tập hợp
các thành phần trong dãy token stream.Ví
dụ nổi bật như là Token filter như là loại bỏ các tiếp đầu ngữ , loại bỏ các
stop word …
Chức năng Analyser bao gồm 2 chức năng là Tokenizer
và Token Filters
·
Tokenizer nhiệm vụ tách các kí tự vào Token
·
Token Filters nhiệm vụ sửa đổi các Token
Bao gồm :
·
WhitespaceTokenizer
·
StandardTokenizer
·
LowerCaseFilter
·
StopFilter and more...
Trong tài liệu tiếng Anh
StandardTokenizer & Analyzer
sẽ xử lí như sau :
·
Khoảng
trống và dấu chấm câu xử lí trên các Token khác nhau
·
Loại
bỏ những từ chung ít liên quan đến nội dung văn bản như “a”,”the”...
·
Nó
xử lí "AT&T", "I.B.M.", etc. như
là 1 Token
·
Email address:
quangsoft@gmail.com không tách ra các trường như “quangsoft” ,
“@”..
·
Streaming
: lập chỉ
mục của các từ khi chúng xuất hiện chính xác có
thể có vấn đề trong tìm kiếm.Xóa bỏ tiền tố và hậu tố
1. book, books →book
2. like, liked, liking →lik
3. take, took, taken, taking →t ?
·
Trong
quá trình tách từ Lucene còn sử dụng từ điển Lemma hỗ trợ
1. book, books →book
2. like, liked, liking →like
3. take, took, taken, taking → take
Hiện nay từ điển từ điển Lemma trong Lucene hỗ trợ cho 18 loại ngôn ngữ và
sử dụng công nghê Rosette Linguistics Platform để xử lí việc tách từ tự động
cho các các ngôn ngữ này.
Hình
9 : Các ngôn ngữ hỗ trợ trong từ điển
·
Field
Giúp Lucene có thể lưu trữ các thuộc tính bổ sung cho mỗi tài liệu trong chỉ mục.Mục đích
của Field gồm có :
1. Khả năng giới hạn
tìm kiếm trên những đối tượng meta-data xác định (như chỉ có tiêu đề , tác
giả..)
2.
Khả năng lưu trữ dữ liệu để xác định các tài liệu
Tạo ra 1 Fields gồm 3 lựa chọn :
1.
Field.Store: YES or NO : Chỉ ra nội dung
cần được lưu trữ , NO có nghĩa là nội dung chỉ được phân tích nhưng không để
tìm kiếm.YES cho các thuộc tính xác định. Ví dụ như bao gồm : ID, tên file
, tài liệu, ngày thêm , kích thước tài liệu..
2.
Field.Index : Giá trị chính được
ANALYZED.NO chỉ ra lĩnh vực nội dung không được ANALYZED, nó cũng không thể tìm
kiếm thuộc tính như vậy , ANALYZED được sử dụng cho nội dung được tìm kiếm
3.
Field.TermVector : Cho phép tinh chỉnh các Term vector được giữ trong chỉ mục
Không có nhận xét nào:
Đăng nhận xét