Hình 3.3. Kiến trúc file Index
Index Document Document Document Docment Field Field Field Field Field Name Value
71
Trong file index, các văn bản đƣợc lƣu lại thành các khối dữ liệu (Document). Mỗi khối dữ liệu chứa các thông tin của từng văn bản. Các thông tin đƣợc lƣu vào các trƣờng (Field). Mỗi trƣờng đều có hai giá trị là Name và Valuẹ Name lƣu tên của trƣờng, Value chứa nội dung của Field. Ví dụ trong một văn bản (Document) có thể có các Field sau: Path (chứa đƣờng dẫn), Content (chứa nội), CreateDate(chứa ngày tạo file)…
Với mỗi Field, ta có thể chọn giữa đánh chỉ mục hay không đánh chỉ mục. Nếu chọn đánh chỉ mục, ta có thể tìm kiếm trên Field đó. Các Field không đánh chỉ mục thƣờng là các Field không quan trọng trong quá trình tìm kiếm và phục vụ chủ yếu cho nhu cầu trình bày kết quả trả về.
Thao tác đánh chỉ mục khá phức tạp. Trƣớc hết dữ liệu văn bản sẽ đƣợc phân tích thành các từ khóa, đồng thời loại bỏ các từ không dùng đến (stop words, trong tiếng Anh các từ nhƣ a, an, the là các stop words), sau đó các từ khóa sẽ đƣợc dùng để tạo Inverted index (chỉ mục đảo ngƣợc) và lƣu thành mục đảo ngƣợc dùng để chỉ cách lƣu trữ danh sách các tài liệu mà có chứa từ ngƣời ta lƣu trữ danh sách các từ có trong dữ liệu đó. Ví dụ, với từ khóa Index, ta sẽ lƣu trữ danh sách các trang web A, B, C có chứa từ khóa nàỵ Sau này khi ngƣời dùng gõ vào từ khóa Index, danh sách này có thể giúp định vị nhanh chóng các trang web có chứa nó. Nếu dùng chỉ mục thông thƣờng, phải quét qua hết các trang web có trong cơ sở dữ liệu mới tìm rạ Cách này rất tốn thời gian khi số lƣợng dữ liệu lớn.
72