Hướng dẫn full-text search mongodb
Nội dung bài viết Đầu tiên chúng ta thống nhất với nhau là hiểu khái niệm Full text search là gì? này trước
rồi mới tới việc thực hành. Full text search đơn giản chỉ là một hình thức nâng cao việc tìm kiếm dữ liệu trong database mà thôi. Một người bình thường họ có thể mất nhiều steps để tìm ra một chuỗi cần thiết thì dẫn đến việc lâu và chậm, dẫn đến chản nản..., nếu người đó biết được khái niệm và thực hành về Fulltext search thì việc đó trở nên đơn giản hơn bao giờ hết. Và bài viết này tôi sẽ hướng dẫn về điều đó với Mongodb. Đương nhiên để hiểu về Full text search in mongodb thì trước tiên điều kiện tiên quyết là bạn đã cài đặt và sử dụng mongodb rồi. Nếu bạn chưa biết thì có thể theo những hướng dẫn trong blogs này đã viết or có thể vào trang chủ của mongodb Ok, xem như xong chúng ta sẽ đi tới thực hành. Đầu tiên giả sử bạn đã xong xuôi mọi chuyện và bạn sẽ insert data vào
trong DB:
Trên đó là tôi insert một số cầu thủ đang hot với 2 khai báo:
OK tìm kiếm xong, như vậy là insert thành công. Tiếp đến sử dụng Full text search bằng cách sử dụng
Chúng ta khai báo index như sau để sử dụng Full text search trong Mongodb. Code như sau:
OK, xem như xong về
Giờ tìm kiếm
Vì khi chúng ta tìm nó tìm kiếm toàn văn bản cho nên nhận lệnh khớp các từ có trong cụm từ tìm kiếm trên. Giờ chúng ta muôn chỉ tìm kiếm đúng chính xác là
Chú ý dấu Tiếp theo chúng ta chỉ tìm những cầu thủ chi ghi bàn bằng đầu thôi. Tìm kiếm như sau
Chúng ta nhận thấy mục đích chúng ta bị sai bởi vì muốn tìm cầu thủ chỉ ghi bằng đầu thôi mà có một document ghi bằng chân nữa. Chúng ta sẽ thay lại như sau:
Ngoài
ra có một tiện ích đó là khi chúng ta tìm kiếm thì chỉ muốn giá trị đúng nhất, như elasticsearch làm được. Lúc đó bạn sẽ sử dụng
MongoDB full text search vietnameseCó một câu hỏi có nhiều
bạn cũng thắc mắc về sử dụng Text search trong MongoDB về tìm kiếm có dấu ở VN. Thì cơ bản nó cung giống chung nhau cả thôi. Chủ yếu là khi các bạn insert data như thế nào? Các bạn phải chuyển về mẫu số chung như "Giàu", "giaU" thì cũng bằng OK hết nhé! Nhớ đọc |