Full-Text Search là gì, liệu nó có thật sự cần thiết cho dự án của bạn?

Ở đâu đó trên Shopee Lấy ví dụ khi chung ta search từ khóa “bàn phím cơ giá rẻ” trên Shopee, kết quả hiển thị ra tương tự như hình trên. Sau khi xem hình, một dev chưa biết khái niệm về Full-Text Search sẽ nghĩ ngay giải pháp kiểu như: SELECT * FROM products

Ở đâu đó trên Shopee

Untitled

Lấy ví dụ khi chung ta search từ khóa “bàn phím cơ giá rẻ” trên Shopee, kết quả hiển thị ra tương tự như hình trên.

Sau khi xem hình, một dev chưa biết khái niệm về Full-Text Search sẽ nghĩ ngay giải pháp kiểu như:

SELECT * FROM products WHERE name LIKE "%bàn%" 
							OR name LIKE "%phím%"
							OR name LIKE "%cơ%"
							OR name LIKE "%giá%"
							OR name LIKE "%rẻ%"

Nếu xét về giải pháp thì đây vẫn là một giải pháp sẽ cho kết quả đúng, nhưng cái giá phải trả là ngốn rất nhiều tài nguyên của Database

Hôm nay mình sẽ giới thiệu về khái niệm Full-Text Search, từ được định nghĩa để giải quyết bài toán tương tự ở trên

Full-Text Search là gì?

Untitled

Như cái tên của nó đã nói, Full-Text Search là tìm kiếm tất cả nhưng gì là text trong database của bạn, nó đem lại một giải pháp Linh độngNhanh

  • Linh động: sử dụng Full-text Search chúng ta không cần chia nhỏ các từ khóa đơn ra riêng biệt như cách ở trên, giải pháp đã tự xử lý những từ liên quan trong quá trình tìm kiếm
  • Nhanh: bằng việc sử dụng “Inverted Index” nó đem đến tốc độ tìm kiếm nhanh hơn việc dùng tìm kiếm thông thường

Full-Text Search có thật sự cần thiết

Untitled

Nếu bạn đang xây dựng một hệ thống đặc thù, không cần quan trọng việc tìm kiếm, hay chỉ cần tìm kiếm chính xác từ hoặc cụm từ là đủ thì Full-Text Search không cần thiết với dự án của bạn.

Nhưng nếu bạn xây dựng một hệ thống bán hàng, quản lý hàng hóa, cần phục vụ tốt quá trình tìm kiếm để đem lại hiểu quả cho người sử dụng thì Full-Text Search thật sự cần thiết đối với dự án của bạn

Ngoài ra ở các website lớn, hoặc như Google việc bạn search một nội dung nó còn có thể dịch ra các thứ tiếng, hoặc sử dụng các công nghệ để đoán hiểu được bạn cần gì, từ đó đưa ra các kết quả mong muốn… Đó là một phạm trụ vũ trụ, hy vọng mình có dịp biết và chia sẽ cho các bạn 😂

Full-Text Search được hỗ trợ ở đâu?

Untitled

Hiện này theo xu hướng phát triển, cũng khá nhiều các hệ quản trị CSDL hỗ trợ Full-Text Search, điển hình như

  • Mysql
  • Elasticsearch
  • PostgreSQL

( Các bạn có thể xem thêm ở link bên dưới )

Tài liêu tham khảo

Nguồn: viblo.asia

Bài viết liên quan

So sánh Webhook và API: Khi nào nên sử dụng?

Trong lĩnh vực công nghệ thông tin và phát triển phần mềm, Webhook và API là hai th

Những ngành nghề AI có thể thay thế dần trong tương lai.

Những ngành nghề AI có thể thay thế trong tương lai gần Dựa trên các báo cáo và

Tạo Subdomain miễn phí với is-a.dev 🤪

Cuối tuần mọi người thế nào, mình thì rảnh quá lướt Facebook, tớ tình cờ th

Dùng TailwindCSS v4 trong SpringBoot + JTE

Giới thiệu JTE là gì? JTE (Java Template Engine) là một template engine an toàn, nhẹ và