Ví dụ về MongoDB Atlas Search

Hướng dẫn này mô tả cách lập chỉ mục và chạy truy vấn đối với các trường trong tài liệu nằm trong một mảng. Hướng dẫn này sẽ đưa bạn qua các bước sau

  1. Tạo một bộ sưu tập mẫu có tên

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    7 với các tài liệu nhúng trong cụm Atlas của bạn
  2. Thiết lập chỉ mục Tìm kiếm Atlas với các trường EmbeddedDocuments được định cấu hình tại đường dẫn

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    8 và
    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    9

  3. Chạy các truy vấn Tìm kiếm bản đồ để tìm kiếm các tài liệu được nhúng trong bộ sưu tập

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    7 bằng cách sử dụng toán tử ghép với các toán tử văn bản và tài liệu nhúng

Trước khi bạn bắt đầu, hãy đảm bảo rằng cụm Atlas của bạn đáp ứng các yêu cầu được mô tả trong Điều kiện tiên quyết. Đối với hướng dẫn này, bạn không cần tải lên dữ liệu mẫu vì bạn sẽ tạo một bộ sưu tập mới và tải các tài liệu mà bạn cần để chạy các truy vấn trong hướng dẫn này

Tạo một bộ sưu tập mẫu và tải dữ liệu

Mỗi tài liệu trong bộ sưu tập mẫu có tên

{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
7 chứa
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
2 và
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
0 của trường, tên
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
1 và
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
2 của giáo viên trong trường,
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
3 mà mỗi giáo viên giảng dạy bao gồm tên
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
4 và cấp độ
{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
5

Bạn phải bắt đầu bằng cách tạo một bộ sưu tập có tên

{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
7 trong cơ sở dữ liệu hiện có hoặc cơ sở dữ liệu mới trên cụm Atlas của bạn. Sau khi tạo bộ sưu tập, bạn phải tải dữ liệu mẫu lên bộ sưu tập của mình. Các bước trong phần này hướng dẫn bạn tạo cơ sở dữ liệu và bộ sưu tập mới, đồng thời tải dữ liệu mẫu vào bộ sưu tập của bạn

1

Đăng nhập vào Atlas và điều hướng đến tab Bộ sưu tập .

  1. Đăng nhập vào cụm của bạn

  2. Nhấp vào tên cụm của bạn

  3. Nhấp vào Bộ sưu tập .

2

Tạo bộ sưu tập mới

  1. Nhấp vào Tạo cơ sở dữ liệu để tạo cơ sở dữ liệu mới.

  2. Nhập tên cơ sở dữ liệu và tên bộ sưu tập

    • Trong trường Tên cơ sở dữ liệu , hãy chỉ định

      {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
      7.

    • Đối với trường Tên bộ sưu tập , hãy chỉ định

      {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
      7.

3

Tải các tài liệu sau vào bộ sưu tập

  1. Chọn bộ sưu tập

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    7 nếu nó không được chọn

  2. Nhấp vào Chèn tài liệu cho từng tài liệu mẫu để thêm vào bộ sưu tập.

  3. Nhấn vào

    JSON ( {} ) để thay thế tài liệu mặc định.
  4. Sao chép và dán lần lượt từng tài liệu mẫu sau và nhấp vào Chèn để thêm từng tài liệu vào .

    {  "_id": 0,  "name": "Springfield High",  "mascot": "Pumas",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "art of science",      "grade": "12th"    },    {      "subject": "applied science and practical science",      "grade": "9th"    },    {      "subject": "remedial math",      "grade": "12th"    },    {      "subject": "science",      "grade": "10th"    }]  },  {    "first": "Bob",    "last": "Green",    "classes": [{      "subject": "science of art",      "grade": "11th"    },    {      "subject": "art art art",      "grade": "10th"    }]  }]}

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}

    {  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}

Tạo Chỉ mục Tìm kiếm Atlas

Trong phần này, bạn sẽ tạo chỉ mục Tìm kiếm Atlas cho các trường trong tài liệu được nhúng trong bộ sưu tập

{  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}
0

1

Điều hướng đến trang Tìm kiếm Atlas cho dự án của bạn

  1. Nếu nó chưa được hiển thị, hãy chọn tổ chức chứa dự án bạn muốn từ menu Tổ chức trong thanh điều hướng.

  2. Nếu nó chưa được hiển thị, hãy chọn dự án bạn muốn từ menu Dự án trong thanh điều hướng.

  3. Nhấp vào tên cụm của bạn

  4. Nhấp vào tab Tìm kiếm .

2

Nhấp vào Tạo chỉ mục .

3

Chọn Trình chỉnh sửa JSON Phương thức cấu hình và nhấp vào Tiếp theo . .

4

Nhập Tên chỉ mục và đặt Cơ sở dữ liệu và Bộ sưu tập.

  1. Trong trường Tên chỉ mục , hãy nhập

    {  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}
    1.

    Ghi chú

    Nếu bạn đặt tên cho chỉ mục của mình là

    {  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}
    1, thì bạn không cần chỉ định tham số
    {  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}
    3 khi sử dụng giai đoạn đường dẫn $search. Nếu không, bạn phải chỉ định tên chỉ mục bằng tham số
    {  "_id": 2,  "name": "Lincoln High",  "mascot": "Sharks",  "teachers": [{    "first": "Jane",    "last": "Smith",    "classes": [{      "subject": "science",      "grade": "9th"    },    {      "subject": "math",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Redman",    "classes": [{      "subject": "art",      "grade": "12th"    }]  }]}
    3

  2. Trong phần Cơ sở dữ liệu và bộ sưu tập , hãy tìm cơ sở dữ liệu

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    7 và chọn bộ sưu tập
    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    7.

5

Chỉ định cấu hình chỉ mục để lập chỉ mục các tài liệu được nhúng

  1. Thay thế định nghĩa chỉ mục mặc định bằng định nghĩa chỉ mục sau và nhấp vào Tiếp theo .

    Định nghĩa chỉ mục sau đây xác định rằng các tài liệu trong mảng ở đường dẫn

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    8 và
    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    9 phải được lập chỉ mục dưới dạng EmbeddedDocuments và các trường bên trong tài liệu phải được lập chỉ mục động

    {  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
    6

  2. Nhấp vào Tạo chỉ mục tìm kiếm .

Chạy truy vấn tìm kiếm bản đồ đối với các trường tài liệu được nhúng

Bạn có thể chạy các truy vấn đối với các trường tài liệu được nhúng. Hướng dẫn này sử dụng các toán tử nhúngDocument và văn bản bên trong toán tử ghép trong các truy vấn

Trong phần này, bạn sẽ kết nối với cụm Atlas của mình và chạy các truy vấn mẫu bằng cách sử dụng các toán tử đối với các trường trong bộ sưu tập

{  "_id": 1,  "name": "Evergreen High",  "mascot": "Jaguars",  "teachers": [{    "first": "Jane",    "last": "Earwhacker",    "classes": [{      "subject": "art",      "grade": "9th"    },    {      "subject": "science",      "grade": "12th"    }]  },  {    "first": "John",    "last": "Smith",    "classes": [{      "subject": "math",      "grade": "12th"    },    {      "subject": "art",      "grade": "10th"    }]  }]}
7


➤ Sử dụng trình đơn thả xuống Chọn ngôn ngữ của bạn trên trang này để đặt ngôn ngữ cho các ví dụ trong phần này

Tìm kiếm MongoDB Atlas hoạt động như thế nào?

Atlas Search là tìm kiếm toàn văn được nhúng trong MongoDB Atlas mang đến cho bạn trải nghiệm liền mạch, có thể mở rộng để xây dựng các tính năng ứng dụng dựa trên mức độ liên quan . Được xây dựng trên Apache Lucene, Atlas Search loại bỏ nhu cầu chạy một hệ thống tìm kiếm riêng biệt cùng với cơ sở dữ liệu của bạn.

Làm cách nào để tìm kiếm dữ liệu trong MongoDB?

Sử dụng toán tử truy vấn $text để thực hiện tìm kiếm văn bản trên bộ sưu tập có chỉ mục 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 các dấu chấm câu làm dấu phân cách và 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.

Tôi có thể sử dụng MongoDB làm công cụ tìm kiếm không?

Với dịch vụ Tìm kiếm toàn văn bản MongoDB Atlas mới, chúng tôi đã làm cho việc tích hợp các khả năng tìm kiếm đơn giản nhưng phức tạp vào các ứng dụng MongoDB của bạn trở nên dễ dàng hơn bao giờ hết . Để chứng minh nó dễ dàng như thế nào, hãy xây dựng một công cụ tìm kiếm phim - chỉ trong 10 phút.