Tìm kiếm toàn văn bản (FTS) là một kỹ thuật thông minh được sử dụng để tìm và trả về kết quả tốt hơn và có liên quan từ cơ sở dữ liệu.


Các công cụ tìm kiếm sử dụng rộng rãi FTS, nhưng bạn có thể mang lại sức mạnh tương tự cho cơ sở dữ liệu MySQL của bạn. Điều này hoạt động tốt hơn so với các tra cứu ký tự đại diện chậm phổ biến sử dụng tuyên bố tương tự.

FTS có lợi thế lớn hơn so với các phương pháp tìm kiếm cơ sở dữ liệu truyền thống. Đầu tiên, nó có thể bắt nguồn từ (giảm các từ bị biến đổi thành từ gốc). Chẳng hạn, nếu bạn tìm kiếm từ ‘chạy, thì bạn có thể nhận được kết quả cho‘ chạy, hoặc chạy.

FTS cũng được sử dụng phổ biến để hiển thị kết quả có trọng số. Nghĩa là, khi bạn chạy truy vấn trên cơ sở dữ liệu, bạn có thể sắp xếp các kết quả theo thứ tự phù hợp và điều này sẽ hiển thị kết quả tốt hơn cho người dùng cuối.

Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách bật tìm kiếm toàn văn trên cơ sở dữ liệu MySQL của bạn. Để đơn giản, chúng tôi sẽ sử dụng cơ sở dữ liệu trường học giả định với bảng sinh viên có hai trường (student_name và student_id)

Điều kiện tiên quyết

  • Máy chủ MySQL hoặc MariaDB (danh sách các dịch vụ lưu trữ MySQL tốt nhất
  • Tên người dùng và mật khẩu để đăng nhập vào máy chủ cơ sở dữ liệu của bạn

Bước 1: Đăng nhập vào máy chủ MySQL của bạn

Có nhiều cách khác nhau để đăng nhập vào máy chủ MySQL / MariaDB của bạn. Nếu bạn đang chạy Linux, lệnh cơ bản là:

$ mysql -u root -p

Bạn có thể thay thế ’root mạng bằng tên người dùng của bạn. Ngoài ra -p chuyển đổi sẽ nhắc bạn nhập mật khẩu. Nếu thông tin đăng nhập đúng, lời nhắc của MySQL sẽ được hiển thị.

mys>

Bước 2: Chọn cơ sở dữ liệu mà bạn muốn sử dụng

Để chọn cơ sở dữ liệu, hãy chạy lệnh dưới đây:

mys> sử dụng tên hiệu

Ví dụ: để sử dụng ‘trường học’ cơ sở dữ liệu, chúng tôi sẽ chạy lệnh dưới đây:

mys> sử dụng trường học

Bước 3: Kích hoạt tính năng Tìm kiếm toàn văn bản trên Cột mục tiêu

Trước tiên, hãy chắc chắn rằng bảng của chúng tôi có một số giá trị. Chúng tôi có thể chạy lệnh dưới đây để xác minh điều này:

mys> chọn * từ học sinh;

Đầu ra

+————+————–+
| student_id | tên sinh viên |
+————+————–+
| 1041 | John Doe |
| 1042 | John Roe |
| 1043 | Richard Roe |
+————+————–+
3 hàng trong bộ (0,00 giây)

Tìm kiếm toàn văn chỉ hoạt động với CHAR, VARCHAR, hoặc là BẢN VĂN Loại dữ liệu. Trong trường hợp này, cột ‘student_name của chúng tôi được đặt để sử dụng VARCHAR.

Để cho phép tìm kiếm toàn văn bản trên cột, chúng tôi sẽ chạy lệnh SQL bên dưới:

mys> Thay đổi sinh viên bảng THÊM FULLTEXT (student_name);
Truy vấn OK, 0 hàng bị ảnh hưởng, 1 cảnh báo (0,12 giây)

Bước 4: Kiểm tra nếu FTS đang hoạt động

Để kiểm tra xem MySQL FTS có hoạt động không, chúng tôi sẽ chạy lệnh dưới đây đối với bảng cơ sở dữ liệu của chúng tôi:

mys>Chọn student_id, student_name, match (student_name) AGAINST (‘John Roe’) làm Mức độ liên quan từ các sinh viên trong đó trận đấu (student_name) AGAINST (‘John Roe’);

Chúng tôi đã bao gồm một cột mới Mức độ liên quan để chúng tôi có thể thấy trọng số được cung cấp cho mỗi bản ghi phù hợp với cụm từ tìm kiếm của chúng tôi ‘John ​​Roe.

Đầu ra

mys> Chọn student_id, student_name, match (student_name) AGAINST (‘John Roe’) làm Mức độ liên quan từ các sinh viên trong đó trận đấu (student_name) AGAINST (‘John Roe’);
+————+————–+———————-+
| student_id | tên sinh viên | Sự liên quan |
+————+————–+———————-+
| 1042 | John Roe | 0,062016263604164124 |
| 1041 | John Doe | 0,031008131802082062 |
| 1043 | Richard Roe | 0,031008131802082062 |
+————+————–+———————-+
3 hàng trong bộ (0,00 giây)

Như bạn có thể thấy trong ví dụ trên, cả 3 sinh viên đã được trả về khi chúng tôi chạy truy vấn, tuy nhiên, bản ghi đầu tiên có tên sinh viên ‘John ​​Roe Hồi được cân nhắc nhiều hơn vì nó khớp chính xác với các thuật ngữ tìm kiếm của chúng tôi.

Điều này xác nhận rằng MySQL FTS đang hoạt động như mong đợi. Mặc dù đây là một ví dụ cơ bản sử dụng một vài bản ghi, MySQL FTS có thể cải thiện hiệu suất trên cơ sở dữ liệu với hàng triệu bản ghi.

Phần kết luận

Trong hướng dẫn này, chúng tôi đã thảo luận về tầm quan trọng của việc cho phép tìm kiếm toàn văn trên cơ sở dữ liệu MySQL của bạn. Chúng tôi cũng đã thể hiện nguyên tắc sử dụng một số dữ liệu kiểm tra từ bảng Sinh viên. Khi bật FTS, bạn sẽ có thể phục vụ kết quả tìm kiếm phù hợp và tốt hơn trên các ứng dụng của mình.

Kiểm tra 3 dịch vụ lưu trữ MySQL hàng đầu sau:

Lưu trữ A2

Giá khởi điểm:
$ 3,92


độ tin cậy
9,3


Giá cả
9.0


Thân thiện với người dùng
9,3


Ủng hộ
9,3


Đặc trưng
9,3

Đọc đánh giá

Ghé thăm Hosting A2

FastComet

Giá khởi điểm:
$ 2,95


độ tin cậy
9,7


Giá cả
9,5


Thân thiện với người dùng
9,7


Ủng hộ
9,7


Đặc trưng
9,6

Đọc đánh giá

Ghé thăm FastComet

Chủ nhà

Giá khởi điểm:
0,99 đô la


độ tin cậy
9,3


Giá cả
9,3


Thân thiện với người dùng
9,4


Ủng hộ
9,4


Đặc trưng
9,2

Đọc đánh giá

Ghé thăm Hostinger

Bài viết hướng dẫn liên quan

  • Cách quản lý cơ sở dữ liệu và người dùng MySQL trên cPanel
    Trung gian
  • Cách chuyển trang web WordPress của bạn từ máy chủ web cục bộ sang trang web trực tiếp của bạn
    Trung gian
  • Cách vô hiệu hóa MySQL 5 "chế độ nghiêm ngặt" trên VPS Ubuntu 18.04 hoặc Máy chủ chuyên dụng
    Trung gian
  • Cách sao lưu cơ sở dữ liệu MySQL của bạn trên VPS Ubuntu 18.04 hoặc máy chủ chuyên dụng
    Trung gian
  • Cách cài đặt PhpMyAdmin trên VPS Ubuntu 18.04 hoặc Máy chủ chuyên dụng
    Trung gian
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me