Hướng dẫn mongodb full-text search - tìm kiếm toàn văn bản 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.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 mongodbFull 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: 0. Tôi nói nhanh thôi, nên không đi sâu vào chi tiết.
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 1. Trước tiên khai báo index, nếu không bạn sẽ bị text index required for $text query như thế này:text index required for $text query như thế này:
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ề 2. Chúng ta chạy lại câu lệnh trên thì sẽ tìm thấy những documents có chứa giá trị tìm kiếm là 3.
Giờ tìm kiếm 4 thì chũng ta cũng nhận được hết 4 documents.
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. 5, 6, 7, 8.Giờ chúng ta muôn chỉ tìm kiếm đúng chính xác là 4 thôi thì chúng ta chỉ thấy 0 là có thể. Làm như sau:
Chú ý dấu 1 là nó phân biệt chúng ta tìm không phải là 2 cho nên nó tìm kiếm cụm từ một cách chính xác.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:
3 chính là giá trị tìm kiếm mà chúng ta không muốn tìm kiếm. Rất hay khải không?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 4.
5 sẽ có nhiệm vụ sắp xếp những cụm từ chính xác theo điểm số 6. Các bạn có thể nhìn lại như trên, tôi đã làm. Để ý thì thấy thứ tự nhảy lung tung cho nên chúng ta cần sắp xếp lại. Thì dùng 7 thôi.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 8 mà thôi.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 8 mà thôi.OK hết nhé! Nhớ đọc 9 trong bài mà tôi đã giới thiệu. |