DynamoDB prend-il en charge la recherche plein texte ?

Non, pas nativement. DynamoDB n'a pas de recherche plein texte : pas de classement par pertinence, pas de racinisation et pas de correspondance approximative — les outils de chaîne intégrés sont des comparaisons exactes, begins_with sur les clés de tri et des filtres de sous-chaîne contains. La réponse d'AWS est l'intégration zéro-ETL avec Amazon OpenSearch Service, qui réplique une table dans un index de recherche pour la recherche plein texte, vectorielle et sémantique.

Ce que tu peux faire nativement

  • begins_with sur une clé de tri — correspondance de préfixe efficace au sein d'une partition ; l'ossature des modèles de clé de tri hiérarchiques.
  • contains dans une expression de filtre — correspondance de sous-chaîne, mais les filtres s'exécutent après la lecture : sur un Scan, tu paies donc encore pour lire chaque élément examiné. Voir le guide des stratégies de filtrage pour savoir quand c'est acceptable.

Aucun ne classe les résultats, ne tolère les fautes de frappe ni ne comprend les limites de mots — ce sont des prédicats de chaîne, pas de la recherche.

La réponse native d'AWS : zéro-ETL vers OpenSearch

Le plugin DynamoDB pour OpenSearch Ingestion synchronise une table dans un ou plusieurs index OpenSearch : un instantané initial se charge via l'export S3 de DynamoDB (PITR requis), puis DynamoDB Streams réplique les modifications en quasi temps réel. Le pipeline ne consomme aucun débit de lecture ou d'écriture de ta table : il est donc sûr à côté du trafic de production — et AWS indique que l'intégration active la recherche plein texte, vectorielle et sémantique sur tes données DynamoDB. Si la recherche est la charge principale, DynamoDB vs Elasticsearch compare directement les rôles de base de données opérationnelle et de moteur de recherche.

Pour aller plus loin

Si ta « recherche » est en réalité une consultation connue, corrige plutôt le modèle — les guides des stratégies de filtrage et des stratégies de clé de tri montrent ce que les clés peuvent faire. Prototype des conditions begins_with/contains dans le générateur d'expressions, et télécharge DynoTable pour filtrer des données de table en direct à mesure que tu explores.

Références

Dernière vérification le 2026-07-13 par rapport à la documentation officielle AWS liée ci-dessus.

Travaille avec DynamoDB sans la Console

DynoTable est un client de bureau rapide pour DynamoDB — parcours les tables, exécute des requêtes de style SQL et édite les items en local.