Làm cách nào để tìm kiếm văn bản trong mongodb?
Trong hướng dẫn MongoDB này, chúng ta sẽ thảo luận về "Các từ tìm kiếm văn bản MongoDB một phần". Chúng tôi cũng sẽ đề cập đến điều này với các hoạt động và ví dụ khác nhau. Đây là những chủ đề sau đây mà chúng ta sẽ đề cập trong hướng dẫn này Show
Mục lục Tìm kiếm văn bản MongoDB một phần từTrong MongoDB, chúng ta có thể tìm kiếm văn bản bằng cách sử dụng toán tử truy vấn $text và nó được sử dụng để thực hiện tìm kiếm văn bản trên một bộ sưu tập bằng chỉ mục văn bản. Nó cung cấp các chỉ mục văn bản để hỗ trợ các truy vấn tìm kiếm văn bản trên nội dung chuỗi Bạn phải có một chỉ mục văn bản trên bộ sưu tập của mình để thực hiện các truy vấn tìm kiếm văn bản. $text sẽ mã hóa chuỗi tìm kiếm bằng cách sử dụng khoảng trắng và hầu hết thực hiện OR logic của tất cả các mã thông báo như vậy trong chuỗi tìm kiếm Ví dụ dưới đây sẽ giúp bạn hiểu, làm thế nào bạn có thể tìm thấy một phần từ trong bộ sưu tập
Tìm kiếm văn bản MongoDB một phần truy vấn từMongoDB là một trường hợp sử dụng tuyệt vời cho Elaticsserch. Và, nó thực sự tốt và giúp phân tích đặc biệt và kết quả tìm kiếm trên loại dữ liệu đó. Nếu bạn cần hiệu suất thì lược đồ MongoDB được bật cho các chỉ mục tối thiểu là tuyệt vời Truy vấn sau đây sẽ sử dụng để tìm kiếm một phần từ trong văn bản trong MongoDB Biểu thức $text có cú pháp như sau
Tài liệu truy vấn văn bản với các trường sau FieldTypeDescription$searchstringMột chuỗi mà MongoDB sử dụng đểtruy vấn chỉ mục văn bản. $languagestringOptional, nó xác định danh sách các từ dừng cho tìm kiếm và các quy tắc cho trình tạo gốc và mã thông báo. Nếu nó không được chỉ định thì tìm kiếm sẽ sử dụng ngôn ngữ mặc định của chỉ mục. $caseSensitivebooleanOptional, Cờ boolean để tắt tìm kiếm phân biệt chữ hoa chữ thường. $diacriticSensitivebooleanOptional, Một cờ boolean để cho phép tìm kiếm nhạy cảm bằng dấu phụ đối với các chỉ mục văn bản phiên bản 3. Bây giờ, chúng ta hiểu rõ hơn với sự trợ giúp của một ví dụ Ví dụ Các tài liệu sau đây sẽ được chèn vào bộ sưu tập cửa hàng
Sau khi chèn tài liệu vào bộ sưu tập. Bây giờ, chúng ta sẽ tạo chỉ mục và sử dụng thao tác $search để tìm kiếm chuỗi văn bản trong bộ sưu tập Tại đây, chúng ta có thể tạo các tập lệnh một lần hoặc tạo tất cả các chỉ mục để có toàn quyền kiểm soát quy trình đó Ở đây, chúng tôi đang tạo một chỉ mục cho trường chủ đề Tạo chỉ mục trong MongoDBBây giờ, chúng tôi sử dụng truy vấn sau để tìm kiếm chuỗi cà phê cụ thể
Truy vấn này trả về các tài liệu bao gồm từ cà phê trong trường chủ đề được lập chỉ mục; Ví dụ về một phần từ tìm kiếm văn bản MongoDBChúng tôi đã trả lại thành công tài liệu có chứa thuật ngữ cà phê hay chính xác hơn là phiên bản gốc của từ này Đọc. MongoDB Auto Increment ID Tìm kiếm văn bản MongoDB chỉ mục từ một phầnChỉ mục là danh sách tất cả các tên được thiết kế để giúp người đọc tìm thấy nơi chúng được thảo luận trong văn bản. Chỉ mục được sử dụng để lưu trữ tất cả các giá trị của một trường cụ thể hoặc tập hợp các trường Các chỉ mục văn bản có thể bao gồm bất kỳ trường nào có giá trị là một chuỗi và một mảng các phần tử chuỗi và nó chỉ hỗ trợ các truy vấn tìm kiếm văn bản trên nội dung chuỗi. Chúng ta phải tạo một chỉ mục văn bản trên bộ sưu tập để thực hiện các truy vấn tìm kiếm văn bản Cú pháp sau đây được sử dụng để tạo chỉ mục cho bộ sưu tập
Chúng ta có thể tạo nhiều trường cho mục lục văn bản. Cú pháp sau đây cho thấy tạo chỉ mục nhiều trường
Chúng tôi sẽ hiểu rõ hơn với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu sau đây đã được đưa vào bộ sưu tập đánh giá
Bây giờ, chúng ta sẽ tạo chỉ mục văn bản cho tất cả các trường Ở đây, chúng tôi đã tạo chỉ mục văn bản cho trường Tên và Giới tính Tạo chỉ mục văn bản cho tất cả các trườngChúng tôi đã tạo thành công chỉ mục văn bản cho tất cả các cột Bây giờ, truy vấn sau đây sẽ sử dụng để tìm kiếm một phần từ trong tài liệu của bộ sưu tập
Ở đây, chúng tôi tìm kiếm chỉ mục văn bản trong đó Tên là Peter với chỉ mục tìm kiếm Nam Tìm kiếm văn bản MongoDB chỉ mục từ một phầnChúng tôi trả lại thành công các tài liệu có chuỗi văn bản là “Nam” và Tên là “Peter” Đọc. Chỉ mục trong Cơ sở dữ liệu MongoDB là gì và chúng ta có thể sử dụng chúng không? Ví dụ tìm kiếm một phần văn bản MongoDBKhi chúng ta thảo luận về tìm kiếm văn bản một phần từ như cách chúng ta có thể dễ dàng tìm thấy các từ một phần của tài liệu. Ở đây, chúng ta sẽ hiểu rõ hơn với sự trợ giúp của một ví dụ Ví dụ Các tài liệu sau đây đã được đưa vào bộ sưu tập bảng 0Bây giờ, chúng ta phải tạo chỉ mục cho tất cả các chuỗi trong bộ sưu tập để có toàn quyền kiểm soát quá trình đó 1Tạo một chỉ mục cho tất cả các cộtSau khi tạo chỉ mục văn bản cho tất cả các cột, chúng ta có thể sử dụng toán tử $search và tìm tài liệu 2Lệnh này sẽ hiển thị tất cả các tài liệu có tên tác giả là “Karl Seguin” và trường chỉ mục sách chứa các thuật ngữ “MongoDB” Tìm kiếm văn bản MongoDB một phần từChúng tôi đã truy xuất thành công tất cả các tài liệu theo điều kiện đã cho Đọc. MongoDB xóa một trường khỏi tài liệu Tìm kiếm văn bản MongoDB một phần từ tất cảĐôi khi chúng ta phải tìm hoặc tìm kiếm tất cả các từ văn bản một phần theo yêu cầu của câu hỏi. Vì vậy, chúng ta sẽ học cách tìm kiếm tất cả các từ một phần của tài liệu với sự trợ giúp của một ví dụ Ví dụ Các tài liệu sau đã được chèn vào bộ sưu tập thư viện 3Sau đó, chúng ta sẽ tạo chỉ mục văn bản cho trường tài liệu. Và, để tạo chỉ mục văn bản, hãy sử dụng truy vấn sau 4Ở đây, chúng tôi tạo một chỉ mục văn bản của trường sách trong bộ sưu tập thư viện Lưu ý rằng, bạn phải có một chỉ mục văn bản trên bộ sưu tập của mình để thực hiện các truy vấn tìm kiếm văn bản Bây giờ, truy vấn sau được sử dụng để tìm kiếm tất cả các từ một phần của tài liệu 5Tại đây, toán tử $search sẽ tìm tất cả các tài liệu có chuỗi là MongoDB. Và, find() sẽ trả về tất cả các từ một phần tìm kiếm văn bản Tìm kiếm văn bản MongoDB một phần từ tất cả ví dụChúng tôi trả về thành công tất cả các tài liệu có từ một phần của văn bản tìm kiếm là “MongoDB” Đọc. Thiếu câu lệnh trước MongoDB Tìm kiếm văn bản MongoDB nhiều từ một phầnTrong các tình huống thời gian thực của chúng tôi, chúng tôi phải tìm kiếm văn bản trên nhiều trường của tài liệu. Và, chúng ta phải có chỉ mục văn bản để thực hiện tất cả các truy vấn tìm kiếm văn bản. Chúng tôi hiểu điều này với sự trợ giúp của một ví dụ, vì vậy hãy bắt đầu Ví dụ Các tài liệu sau đã được chèn vào bộ sưu tập quan hệ 6Vì chúng ta phải có mục lục văn bản để thực hiện truy vấn tìm kiếm văn bản nên truy vấn sau đây được sử dụng để tạo mục lục văn bản cho tất cả các trường của tài liệu 7Ở đây, chúng tôi đang tạo chỉ mục văn bản của tất cả các trường chủ đề, nội dung và ngôn ngữ Tạo một Chỉ mục cho tất cả các lĩnh vựcChúng tôi đã tạo thành công chỉ mục văn bản cho tất cả các trường. Bây giờ, chúng tôi sử dụng toán tử tìm kiếm $ để tìm các từ một phần văn bản nhiều trường 8Ở đây, chúng tôi tìm kiếm chuỗi cats và hiển thị tất cả các trường, đồng thời áp dụng phương thức sort() để hiển thị nhiều trường theo thứ tự giảm dần theo trường nội dung Tìm kiếm văn bản MongoDB một phần từ nhiều trườngChúng tôi trả về thành công tất cả nhiều trường theo thứ tự giảm dần trong đó chuỗi là mèo Đọc. Cam kết hai giai đoạn MongoDB Tìm kiếm văn bản la bàn MongoDB một phần từTrong la bàn MongoDB, chúng tôi cũng có thể tìm kiếm các từ văn bản một phần từ các tài liệu của bộ sưu tập. Trong chủ đề này, chúng ta học cách tìm các từ một phần tìm kiếm văn bản với sự trợ giúp của một ví dụ trong la bàn MongoDB Ví dụ Bạn phải làm theo tất cả các bước sau để tìm kiếm từng phần văn bản trong la bàn MongoDB
Tại đây, chúng tôi đã tạo chỉ mục cho tất cả các trường và cũng có thể thêm nhiều trường hơn bằng cách nhấp vào nút THÊM CÁC TRƯỜNG KHÁC. Chúng tôi cũng có thể thay đổi tên của chỉ mục và nếu chúng tôi không xác định bất kỳ tên nào thì nó sẽ sử dụng tên mặc định cho chỉ mục. Sau đó, bấm vào nút CREATE INDEX để tạo chỉ mục
9Ở đây, lệnh FILTER dùng để tìm chuỗi văn bản là Male và lệnh SORT dùng để sắp xếp văn bản theo thứ tự tăng dần theo trường Name Tìm kiếm văn bản la bàn MongoDB một phần từChúng tôi đã truy xuất thành công tất cả các tài liệu của bộ sưu tập người theo thứ tự tăng dần theo trường Tên trong đó Giới tính là Nam Đọc. MongoDB tạo và thay đổi mật khẩu người dùng Tìm kiếm văn bản MongoDB một phần từ không hoạt độngVài ngày trước, khi tôi đang thực hiện nhiệm vụ tìm kiếm một phần từ trong bộ sưu tập và tôi không thể tìm kiếm một số từ nhất định Tôi đang thực hiện đúng thao tác như chèn tài liệu, tạo các chỉ mục cần thiết nhưng khi tôi áp dụng thao tác $search để tìm chuỗi văn bản thì nó không trả về bất kỳ thứ gì Ví dụ Các tài liệu sau đây đã được đưa vào bộ sưu tập dữ liệu 0Sau đó, chúng tôi sẽ tạo các chỉ mục văn bản cho tất cả các trường của bộ sưu tập dữ liệu 1Ở đây, chúng tôi tạo mục lục văn bản trên nội dung và sử dụng ngôn ngữ mặc định là tiếng Anh 2Ở đây, sau khi thực hiện truy vấn trên, nó không trả về bất kỳ thứ gì để tham khảo, hãy kiểm tra ảnh chụp nhanh bên dưới Tìm kiếm văn bản MongoDB một phần từ không hoạt độngDo đó, sau khi thực hiện lệnh, nó không trả về bất cứ điều gì Vì vậy, để giải quyết vấn đề này, tôi đã đọc rất nhiều blog trên web và cố gắng tìm ra vấn đề. Và, tôi tìm thấy một giải pháp cho vấn đề này Trên thực tế, mục lục văn bản không cho tôi kết quả vì các từ dừng. Một số từ không bảo tồn trong khi tạo chỉ mục văn bản. Ví dụ (bằng tiếng Anh). a, an, the, are, v.v. Bạn có thể đi qua liên kết để kiểm tra danh sách các từ dừng. Nếu từ có trong danh sách này thì đó là lý do duy nhất khiến chỉ mục văn bản không thể trả lại tài liệu Lưu ý, Bạn cũng có thể kiểm tra liên kết này để kiểm tra danh sách các từ dừng theo ngôn ngữ của bạn Bây giờ, giải pháp cho vấn đề này là chúng ta thay đổi default_language thành none trong khi tạo chỉ mục. Lỗi xảy ra do chúng tôi đã sử dụng tiếng Anh loại bỏ tất cả các từ dừng và không trả lại bất kỳ tài liệu nào Vì vậy, hãy sử dụng lệnh sau để tạo chỉ mục cho bộ sưu tập dữ liệu 3Ở đây, chúng ta tạo các chỉ mục và chỉ định default_language là none. Không có nghĩa là không có ngôn ngữ cụ thể và nói rằng tạo các chỉ mục văn bản cho tất cả các từ có mặt ở đó MongoDB tạo chỉ mục văn bảnBây giờ, chúng tôi tìm kiếm văn bản “khác” bằng cách sử dụng toán tử $search bằng truy vấn sau 2Tìm kiếm văn bản MongoDB một phần từChúng tôi đã giải quyết thành công sự cố và trả lại tất cả các tài liệu có chuỗi văn bản là “khác” Đọc. MongoDB tìm nhiều điều kiện Tìm kiếm văn bản MongoDB một phần từ pythonTrong chủ đề này, chúng tôi sẽ tìm kiếm một phần từ trong tài liệu bằng python. Chúng tôi sẽ hiểu rõ hơn với sự giúp đỡ của một ví dụ Ví dụ Các tài liệu dưới đây đã được chèn vào bộ sưu tập ví dụ 5Như chúng ta biết chỉ mục văn bản là phải được yêu cầu trong khi tìm kiếm các từ một phần văn bản Bây giờ, chúng tôi sử dụng truy vấn python sau để tạo chỉ mục và tìm các từ một phần văn bản 6Ở đây, Thư viện pymongo được sử dụng để làm việc với MongoDB và cũng nhập hai lớp TEXT và MongoClient. Lớp MongoClient được sử dụng để tạo kết nối đến máy chủ MongoDB. Và, chúng ta phải tạo chỉ mục văn bản và chúng ta sẽ tạo bằng cách sử dụng lớp TEXT. chúng tôi đã tạo chỉ mục văn bản cho tất cả các trường và sử dụng thao tác $search để tìm vị trí của chuỗi văn bản “James” Tìm kiếm văn bản MongoDB một phần từ pythonđầu ra Tìm kiếm văn bản MongoDB một phần từ pythonỞ đầu ra, bạn có thể thấy chúng tôi trả về thành công tất cả các trường tài liệu có chuỗi văn bản là “James” Đọc. Tạo chỉ mục trong MongoDB bằng python? Ngoài ra, hãy xem thêm một số hướng dẫn về MongoDB
Trong hướng dẫn này, chúng ta đã tìm hiểu về "các từ một phần tìm kiếm văn bản MongoDB" với các ví dụ và thao tác khác nhau. Và chúng tôi cũng đã đề cập đến danh sách các chủ đề sau đây
Bijay Tôi là Bijay có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. Trong thời gian này, tôi đã làm việc trên MariaDB và sử dụng nó trong rất nhiều dự án. Hầu hết độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v. Bạn muốn học MariaDB? . Ngoài ra, tôi là MVP của Microsoft Làm cách nào để tìm kiếm một phần văn bản trong MongoDB?Trong MongoDB, chúng ta có thể tìm kiếm văn bản bằng cách sử dụng toán tử truy vấn $text và toán tử này được sử dụng để thực hiện tìm kiếm văn bản trên một bộ sưu tập với . Nó cung cấp các chỉ mục văn bản để hỗ trợ các truy vấn tìm kiếm văn bản trên nội dung chuỗi.
Chỉ mục văn bản MongoDB hoạt động như thế nào?Đối với chỉ mục văn bản, trọng số của trường được lập chỉ mục biểu thị tầm quan trọng của trường so với các trường được lập chỉ mục khác xét về điểm tìm kiếm văn bản. Đối với mỗi trường được lập chỉ mục trong tài liệu, MongoDB nhân số lượng kết quả khớp với trọng số và tính tổng kết quả . |