(Mục từ khởi soạn bởi Đề án Biên soạn Bách khoa toàn thư Việt Nam 2022) |
|||
(Không hiển thị phiên bản của cùng người dùng ở giữa) | |||
Dòng 2: | Dòng 2: | ||
Ví dụ chỉ mục trong ngôn ngữ lập trình C++: | Ví dụ chỉ mục trong ngôn ngữ lập trình C++: | ||
− | <syntaxhighlight | + | <syntaxhighlight> |
#lập bảng màu với chỉ số từ 0 (màu đen) trở đi: | #lập bảng màu với chỉ số từ 0 (màu đen) trở đi: | ||
enum _Color { BLACK= 0, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, ARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE }; | enum _Color { BLACK= 0, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, ARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE }; | ||
Dòng 31: | Dòng 31: | ||
*Sắp xếp các đối tượng theo chỉ mục | *Sắp xếp các đối tượng theo chỉ mục | ||
*Đề xuất các phương pháp và thuật toán chuyển đổi dữ liệu sang dạng dễ chỉ mục hóa: anagram, N-gram, hashing, Fractals, Discrete Fourier transforms và fast Fourier transforms, … | *Đề xuất các phương pháp và thuật toán chuyển đổi dữ liệu sang dạng dễ chỉ mục hóa: anagram, N-gram, hashing, Fractals, Discrete Fourier transforms và fast Fourier transforms, … | ||
− | *Chuẩn hóa: đề xuất quy định thống nhất về khuôn dạng chỉ mục, về các thẻ (tag, META tag) trong các ngôn ngữ gán nhãn văn bản (HTML). | + | *Chuẩn hóa: đề xuất quy định thống nhất về khuôn dạng chỉ mục, về các thẻ (tag, META tag) trong các ngôn ngữ gán nhãn văn bản (như [[HTML]]). |
+ | |||
==Lịch sử== | ==Lịch sử== | ||
Trước khi máy tính điện tử ra đời, index được hiểu là một danh sách được sắp theo trật tự từ điển thường được đặt cuối một cuốn sách để giúp người đọc tìm các thuật ngữ xuất hiện tại các trang của cuốn sách. | Trước khi máy tính điện tử ra đời, index được hiểu là một danh sách được sắp theo trật tự từ điển thường được đặt cuối một cuốn sách để giúp người đọc tìm các thuật ngữ xuất hiện tại các trang của cuốn sách. |
Bản hiện tại lúc 16:14, ngày 12 tháng 7 năm 2022
Chỉ mục (tiếng Anh index, indexing) là bảng tra cứu đặc biệt được sử dụng để tăng nhanh thời gian và hiệu suất thu thập, tìm kiếm dữ liệu. Lập chỉ mục là một phương pháp cho phép truy nhập trực tiếp đến dữ liệu thông qua một tập chỉ số. Trong các ngôn ngữ lập trình, chỉ số được dùng để quản lý truy nhập trực tiếp đến các thành phần của dữ liệu kiểu mảng, danh sách liệt kê (enum), danh sách, cây và các kiểu dữ liệu động được cấp phát tuần tự.
Ví dụ chỉ mục trong ngôn ngữ lập trình C++:
#lập bảng màu với chỉ số từ 0 (màu đen) trở đi:
enum _Color { BLACK= 0, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, ARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE };
#khai báo mảng nguyên a với 10 phần tử có chỉ số từ 0 đến 9:
int a[10];
#truy nhập phần tử 5 của mảng a:
a[5] = 17;
#truy nhập trường dữ liệu Name của bản ghi animal:
animal.Name = "Tom";
#truy nhập trường dữ liệu Key theo con trỏ e:
e->Key = key;
Trong các hệ điều hành, hệ quản trị cơ sở dữ liệu, quản lý thông tin trên Internet, như trong các bộ tìm kiếm (search engine), khái niệm indexing được hiểu là thiết lập chỉ dẫn từ các thuộc tính, tên (dịnh danh) hoặc khóa của đối tượng cần tìm kiếm như văn bản, hình ảnh, video, audio, … đến nơi lưu trữ dữ liệu là địa chỉ tuyệt đối trên thiết bị lưu trữ (đĩa) hoặc địa chỉ logic (các địa chỉ web).
Với sự ra đời của các hệ thống soạn thảo điện tử nói chung và soạn thảo văn bản nói riêng, khái niệm chỉ mục được mở rộng thành khái niệm siêu liên kết (hyperlink) với chức năng không chỉ "trỏ" đến nơi lưu trữ dữ liệu mà "dẫn" trực tiếp người tìm kiếm thông tin đến dữ liệu. Tính trực quan của chỉ mục điện tử còn được nâng cao hơn nữa với các chỉ mục có thể là biểu tượng, mã hiệu, hình ảnh, ký hiệu, địa danh, địa chỉ hộp thư email cùng với khả năng kích hoạt các chương trình máy tính mô phỏng hoạt động của các đối tượng cần tìm hiểu. Tiện ích này cho phép xây dựng được các hệ thống trợ giúp trong dạy học, đào tạo, thương mại điện tử và hướng dẫn người dân trong chính phủ điện tử.
Mục đích chính của lập chỉ mục là tối ưu hóa tốc độ và không gian tìm kiếm và giảm thiểu sự căng thẳng về tâm lý khi tìm kiếm thông tin trên không gian mạng. Ví dụ về chỉ mục trên Internet:
Truy nhập đến lược sử của Quốc ca Việt Nam -> "Tiến quân ca"
Truy nhập đến hình ảnh và lịch sử của kinh thành Thăng Long -> "Thăng Long"
Truy nhập đến hình ảnh và lược sử của đức Lý Thái Tổ -> "Lý Thái Tổ"
Các chủ đề nghiên cứu[sửa]
Tổ chức chỉ mục trên Internet đặt ra nhiều vấn đề cần nghiên cứu và phát triển:
- Mở rộng các kho chứa dữ liệu
- Tổ chức các bộ nhớ thứ cấp
- Trích chọn đặc trưng dữ liệu để lập chỉ mục
- Sắp xếp các đối tượng theo chỉ mục
- Đề xuất các phương pháp và thuật toán chuyển đổi dữ liệu sang dạng dễ chỉ mục hóa: anagram, N-gram, hashing, Fractals, Discrete Fourier transforms và fast Fourier transforms, …
- Chuẩn hóa: đề xuất quy định thống nhất về khuôn dạng chỉ mục, về các thẻ (tag, META tag) trong các ngôn ngữ gán nhãn văn bản (như HTML).
Lịch sử[sửa]
Trước khi máy tính điện tử ra đời, index được hiểu là một danh sách được sắp theo trật tự từ điển thường được đặt cuối một cuốn sách để giúp người đọc tìm các thuật ngữ xuất hiện tại các trang của cuốn sách.
Trong giai đoạn đầu phát triển các ngôn ngữ lập trình và các hệ điều hành, khoảng từ năm 1960 trở đi, các kỹ thuật tổ chức và khai thác CM được phát triển mạnh mẽ và được hình thức hóa trong trong các kiểu dữ liệu trừu tượng và các ngôn ngữ đặc tả.
Việc nghiên cứu và phát triển các phương pháp định dạng, tổ chức lưu trữ, chuẩn hóa và tối ưu hóa chỉ mục được phát triển mạnh mẽ cùng với sự ra đời các bộ tìm kiếm thông tin trên web, dữ liệu lớn và kết nối vạn vật (IoT) với hàng triệu đối tượng.
Ứng dụng và xu thế[sửa]
Chỉ mục được ứng dụng rộng rãi trong tối ưu hóa tìm kiếm, truy nhập thông tin, dữ liệu.
Triển vọng phát triển của việc lập chỉ mục phụ thuộc khá nhiều vào khả năng liên kết, hợp tác giữa các quốc gia và hiệp hội chuẩn hóa chỉ mục.
Việt Nam đã và đang có những đóng góp nhất định vào quy trình nghiên cứu và đề xuất các phương pháp số hóa bảng chữ cái tiếng Việt, phân loại và đề xuất chỉ mục cho các thuật ngữ và các sản phẩm số hóa tiếng Việt. Việc tập trung xây dựng các chỉ mục tổng thể cũng như xây dựng các chỉ mục chuyên ngành và nâng cao tính hấp dẫn của các chỉ mục phục vụ cho tra cứu thông tin, giảng dạy, truyền bá tri thức và nâng cao dân trí cũng đang được xúc tiến từng bước.
Tài liệu tham khảo[sửa]
- Beyond Book Indexing: How to Get Started in Web Indexing, Embedded Indexing, and Other Computer-Based Media, edited by Marilyn Rowland and Diane Brenner, American Society of Indexers, Info Today, Inc, NJ, 2000, ISBN 1-57387-081-1
- Donald E. Knuth (1998). The art of computer programming, volume 3: (2nd ed.) sorting and searching, Addison Wesley Longman Publishing Co. Redwood City, CA.
- Gerald Salton (1998). Automatic text processing, Addison-Wesley Longman Publishing Co., Inc., Boston, MA.
- Stefan Büttcher, Charles L. A. Clarke, and Gordon V. Cormack (2010). Information Retrieval: Implementing and Evaluating Search Engines. MIT Press, Cambridge, Mass.