Bài 2: Xác định chỉ mục FULLTEXT cho Tìm kiếm toàn văn bản của MySQL (ok)
Xác định chỉ mục FULLTEXT cho Tìm kiếm toàn văn bản của MySQL
Tóm tắt : trong hướng dẫn này, bạn sẽ tìm hiểu cách xác định chỉ mục toàn văn để thực hiện các tìm kiếm toàn văn bản khác nhau trong MySQL.
Trước khi thực hiện tìm kiếm toàn văn bản trong một cột của bảng, bạn phải lập chỉ mục dữ liệu của nó. MySQL sẽ tạo lại chỉ mục toàn văn bất cứ khi nào dữ liệu của cột thay đổi. Trong MySQL, chỉ mục toàn văn là một loại chỉ mục có tên FULLTEXT
.
MySQL hỗ trợ lập chỉ mục và lập chỉ mục lại dữ liệu tự động cho cột kích hoạt tìm kiếm toàn văn bản. MySQL phiên bản 5.6 hoặc mới hơn cho phép bạn xác định một chỉ mục toàn văn bản cho một cột mà kiểu dữ liệu là CHAR
, VARCHAR
hoặc TEXT
trong MyISAM hoặc InnoDB loại bảng . Lưu ý rằng MySQL hỗ trợ chỉ mục toàn văn trong các bảng InnoDB kể từ phiên bản 5.6.
MySQL cho phép bạn xác định FULLTEXT
chỉ mục bằng cách sử dụng câu lệnh CREATE TABLE khi bạn tạo bảng hoặc câu lệnh ALTER TABLE hoặc CREATE INDEX cho các bảng hiện có.
Xác định chỉ mục FULLTEXT bằng cách sử dụng câu lệnh CREATE TABLE
Thông thường, bạn xác định FULLTEXT
chỉ mục cho một cột khi bạn tạo bảng mới bằng cách sử dụng CREATE TABLE
câu lệnh như sau:
Một ví dụ đã tạo bản fulltex search thành công :)
Ví dụ 1: Tạo bằng lệnh
Ví dụ 2: Tạo bằng select
Để tạo FULLTEXT
chỉ mục, bạn đặt một danh sách các cột được phân tách bằng dấu phẩy trong ngoặc đơn sau FULLTEXT
từ khóa.
Câu lệnh sau đây tạo một bảng mới có tên posts
là một FULLTEXT
chỉ mục bao gồm post_content
cột.
Xác định chỉ mục FULLTEXT cho các bảng hiện có
Trong trường hợp bạn đã có các bảng hiện có và muốn xác định các chỉ mục toàn văn, bạn có thể sử dụng ALTER TABLE
câu lệnh hoặc CREATE INDEX
câu lệnh.
Xác định chỉ mục FULLTEXT bằng cách sử dụng câu lệnh ALTER TABLE
Cú pháp sau đây xác định một FULLTEXT
chỉ mục bằng cách sử dụng ALTER TABLE
câu lệnh:
Ví dụ 3: Chỉnh sửa column đánh chỉnh số FULLTEXT bằng câu lệnh :)
Trong cú pháp này, bạn đặt mệnh đề table_name
và ADD FULLTEXT
mệnh đề xác định một FULLTEXT
chỉ mục cho một hoặc nhiều cột.
Ví dụ: bạn có thể xác định một FULLTEXT
chỉ mục cho các cột productDescription
và productLine
cột trong products
bảng của cơ sở dữ liệu mẫu như sau:
Xác định FULLTEXT
chỉ mục bằng cách sử dụng CREATE INDEX
câu lệnh
FULLTEXT
chỉ mục bằng cách sử dụng CREATE INDEX
câu lệnhBạn cũng có thể sử dụng CREATE INDEX
câu lệnh để tạo một FULLTEXT
chỉ mục cho các bảng hiện có. Xem cú pháp sau:
Câu lệnh sau đây tạo một FULLTEXT
chỉ mục cho các cột addressLine1
và addressLine2
cột của offices
bảng.
Ví dụ 4: Đặt tên chỉ mục vào tạo chỉ mục bằng câu lệnh :)
Lưu ý rằng đối với bảng có nhiều hàng, việc tải dữ liệu vào bảng không có FULLTEXT
chỉ mục trước sẽ nhanh hơn và sau đó tạo FULLTEXT
chỉ mục, hơn là tải một lượng lớn dữ liệu vào bảng có FULLTEXT
chỉ mục hiện có .
Xóa các cột tìm kiếm toàn văn
Để xóa FULLTEXT
chỉ mục, bạn chỉ cần xóa chỉ mục bằng cách sử dụng ALTER TABLE … DROP INDEX
câu lệnh. Ví dụ: câu lệnh sau sẽ xóa chỉ mục trong bảng:address FULLTEXT
offices
Ví dụ 5: Xóa các cột tìm kếm toàn văn
Trong hướng dẫn này, chúng tôi đã chỉ cho bạn cách xác định và xóa FULLTEXT
các chỉ mục hỗ trợ tìm kiếm toàn văn bản trong MySQL.
Last updated