$text - Amazon DocumentDB

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

$text

$textOperator digunakan untuk melakukan pencarian teks lengkap pada bidang yang diindeks teks dalam koleksi dokumen. Operator ini memungkinkan Anda untuk mencari dokumen yang berisi kata atau frasa tertentu, dan dapat dikombinasikan dengan operator kueri lain untuk memfilter hasil berdasarkan kriteria tambahan.

Parameter

  • $search: String teks untuk mencari.

Contoh (MongoDB Shell)

Contoh berikut menunjukkan cara menggunakan $text operator untuk mencari dokumen yang berisi kata “minat” dan memfilter hasil berdasarkan bidang “star_rating”.

Buat dokumen sampel

db.test.insertMany([ { "_id": 1, "star_rating": 4, "comments": "apple is red" }, { "_id": 2, "star_rating": 5, "comments": "pie is delicious" }, { "_id": 3, "star_rating": 3, "comments": "apples, oranges - healthy fruit" }, { "_id": 4, "star_rating": 2, "comments": "bake the apple pie in the oven" }, { "_id": 5, "star_rating": 5, "comments": "interesting couch" }, { "_id": 6, "star_rating": 5, "comments": "interested in couch for sale, year 2022" } ]);

Buat indeks teks

db.test.createIndex({ comments: "text" });

Contoh kueri

db.test.find({$and: [{star_rating: 5}, {$text: {$search: "interest"}}]})

Keluaran

{ "_id" : 5, "star_rating" : 5, "comments" : "interesting couch" } { "_id" : 6, "star_rating" : 5, "comments" : "interested in couch for sale, year 2022" }

Perintah di atas mengembalikan dokumen dengan bidang yang diindeks teks yang berisi segala bentuk “minat” dan “star_rating” sama dengan 5.

Contoh kode

Untuk melihat contoh kode untuk menggunakan $text perintah, pilih tab untuk bahasa yang ingin Anda gunakan:

Node.js
const { MongoClient } = require('mongodb'); async function searchDocuments() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('test'); const result = await collection.find({ $and: [ { star_rating: 5 }, { $text: { $search: 'interest' } } ] }).toArray(); console.log(result); client.close(); } searchDocuments();
Python
from pymongo import MongoClient def search_documents(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db.test result = list(collection.find({ '$and': [ {'star_rating': 5}, {'$text': {'$search': 'interest'}} ] })) print(result) client.close() search_documents()