$search - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$search

Nouveau depuis la version 5.0.

L'$searchopérateur d'Amazon DocumentDB est utilisé pour fournir des fonctionnalités de recherche de texte.

Paramètres

Aucune

Exemple (MongoDB Shell)

L'exemple suivant montre comment utiliser l'$searchopérateur pour effectuer une requête de recherche textuelle.

Création d'exemples de documents

db.textcollection.createIndex({"description": "text"}); db.textcollection.insertMany([ { _id: 1, name: "John Doe", description: "This is a sample document about John Doe." }, { _id: 2, name: "Jane Smith", description: "This is a sample document about Jane Smith." }, { _id: 3, name: "Bob Johnson", description: "This is a sample document about Bob Johnson." }, { _id: 4, name: "Jon Jeffries", description: "This is a sample document about Jon Jeffries." } ]);

Exemple de requête

db.textcollection.find( { $text: { $search: "John" } } );

Sortie

[ { _id: 1, name: 'John Doe', description: 'This is a sample document about John Doe.' } ]

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de la $search commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

Node.js
const { MongoClient } = require('mongodb'); async function findWithText() { 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('textcollection'); const result = await collection.find( { $text: { $search: "John" } } ).sort({ score: { $meta: "textScore" } }).toArray(); console.log(result); client.close(); } findWithText();
Python
from pymongo import MongoClient def find_with_text(): 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['textcollection'] result = list(collection.find( { '$text': { '$search': 'John' } } )) print(result) client.close() find_with_text()