Partager via


Exemples de jeux de données dans Cosmos DB dans Microsoft Fabric

La charge de travail de base de données Cosmos DB de Microsoft Fabric fournit des exemples de jeux de données intégrés pour vous aider à explorer, apprendre et expérimenter des modèles de base de données NoSQL. Ce jeu de données représente un scénario de commerce électronique avec les produits et les avis des clients, ce qui montre comment différents types d’entités coexistent dans le même conteneur.

Deux exemples de jeux de données sont disponibles :

  • Exemples de données standard : données de commerce électronique de base avec des produits et des révisions
  • Exemples de données vectorielles : version améliorée qui inclut des incorporations de vecteurs 1536 dimensionnels générées à l’aide du modèle d’incorporation de texte d’OpenAI-ada-002 pour les scénarios de recherche sémantique.

Vue d’ensemble du jeu de données

Les deux exemples de jeux de données contiennent les mêmes données de commerce électronique avec deux types de documents.

  • Documents de produits (docType: "product") : produits individuels portant le nom, la description, l’inventaire, le prix actuel et un tableau incorporé de l’historique des prix de ce produit.
  • Passer en revue les documents (docType: "review") - Avis des clients et évaluations liées aux produits via productId

L’exemple de jeu de données vectoriel est basé sur l’exemple de jeu de données standard. Les documents de produit dans l'ensemble de données vectoriel incluent une propriété supplémentaire vectors contenant des incorporations 1536-dimensionnelles pour les fonctionnalités de recherche sémantique.

Remarque

Vous trouverez les deux jeux de données ainsi qu’un jeu de données supplémentaire avec des vecteurs générés à l’aide du modèle openAI text-embedding-3-large avec 512 dimensions dans le dossier Sample Datasets de Cosmos DB dans Fabric - Samples Repository

Schémas de document

Schéma du document produit

Les documents produit contiennent des informations détaillées sur les éléments individuels dans le catalogue de commerce électronique :

Propriété Catégorie Descriptif
id string Identificateur unique du produit au format GUID
docType string Identificateur de type de document, toujours "product"
productId string Identificateur de produit, identique à id celui des documents de produit
name string Nom d’affichage du produit
description string Description détaillée du produit
categoryName string Catégorie de produit (par exemple, « Ordinateurs, ordinateurs portables », « Média », « Accessoires »)
inventory number Nombre d’éléments actuellement en stock
firstAvailable string Date à laquelle le produit est devenu disponible (format ISO 8601)
currentPrice number Prix de vente actuel
priceHistory array Tableau d'objets de modification des prix avec date et price comme champs
priceHistory[].date string Date et heure du changement de prix au format ISO 8601
priceHistory[].price number Prix à la date spécifiée
vectors array Exemples de données vectorielles uniquement - représentation de vecteurs à 1536 dimensions

Passer en revue le schéma de document

Les documents de révision contiennent des commentaires et des évaluations des clients pour les produits :

Propriété Catégorie Descriptif
id string Identificateur unique pour l'examen au format GUID
docType string Identificateur de type de document, toujours "review"
productId string Références au id du produit en cours d'examen
categoryName string Catégorie de produit (héritée du produit révisé)
customerName string Nom du client qui a écrit la révision
reviewDate string Date à laquelle la révision a été soumise (format ISO 8601)
stars number Évaluation donnée par le client (1 à 5 échelle)
reviewText string Contenu de révision écrit du client

Remarque

Cosmos DB génère automatiquement des propriétés système (_rid, , _self_etag, _attachments, _ts) pour tous les documents.

Remarque

Pour plus d’informations sur le format ISO 8601, consultez la norme de date et d’heure internationale. Pour plus d’informations sur le format GUID, consultez les identificateurs uniques universels.

Exemples de documents

Les exemples suivants montrent la structure des documents dans les deux exemples de jeux de données.

Exemple de document de produit standard

{
  "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "docType": "product",
  "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
  "name": "EchoSphere Pro ANC-X900 Premium Headphones",
  "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
  "categoryName": "Accessories, Premium Headphones",
  "inventory": 772,
  "firstAvailable": "2024-01-01T00:00:00",
  "currentPrice": 454.87,
  "priceHistory": [
    {
      "date": "2024-01-01T00:00:00",
      "price": 349.0
    },
    {
      "date": "2024-08-01T00:00:00",
      "price": 363.0
    },
    {
      "date": "2025-04-01T00:00:00",
      "price": 408.14
    },
    {
      "date": "2025-08-01T00:00:00",
      "price": 454.87
    }
  ]
}

Exemple de document produit vectorisé

{
    "id": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "docType": "product",
    "productId": "ae449848-3f15-4147-8eee-fe76cfcc6bb4",
    "name": "EchoSphere Pro ANC-X900 Premium Headphones",
    "description": "EchoSphere Pro ANC-X900 Premium Headphones deliver immersive sound with advanced 40mm drivers and Adaptive Hybrid Active Noise Cancellation. Bluetooth 5.3 ensures seamless connectivity.",
    "categoryName": "Accessories, Premium Headphones",
    "inventory": 772,
    "firstAvailable": "2024-01-01T00:00:00",
    "currentPrice": 454.87,
    "priceHistory": [
      {
        "date": "2024-01-01T00:00:00",
        "price": 349.0
      },
      {
        "date": "2025-08-01T00:00:00",
        "price": 454.87
      }
    ],
    "vectors": [
      -0.02783808670938015,
      0.011827611364424229,
      -0.04711977392435074,
      // ... (1536 dimensions total)
      0.04251981899142265
    ]
}

Exemple de document de révision

Les documents de révision sont identiques dans les deux exemples de jeux de données :

{
  "id": "fa799013-1746-4a7f-bd0f-2a95b2b76481",
  "docType": "review",
  "productId": "e847e069-d0f9-4fec-b42a-d37cd5b2f536",
  "categoryName": "Accessories, Premium Headphones",
  "customerName": "Emily Rodriguez",
  "reviewDate": "2025-03-02T00:00:00",
  "stars": 5,
  "reviewText": "Excellent sound quality! Premium build! This EchoSphere Pro ANC-X900 exceeded hopes."
}

Comment utiliser les exemples de données

Les deux exemples de jeux de données vous aident à effectuer des requêtes, à filtrer et à agréger des données dans Cosmos DB. Les types de documents mixtes fournissent des scénarios réalistes pour différents cas d’usage.

Exemples de scénarios de données standard

  • Jointure de données associées : Lier des révisions aux produits à l’aide de productId
  • Analyse des catégories : Interroger des produits et des avis par categoryName
  • Analyse des révisions : examiner les modèles de commentaires des clients et les évaluations

Modèles de requête courants

Obtenez tous les produits dans une catégorie :

SELECT *
FROM c
WHERE 
  c.docType = "product" AND 
  c.categoryName = "Computers, Laptops"

Obtenez des avis pour un produit spécifique :

SELECT *
FROM c
WHERE 
  c.docType = "review" AND 
  c.productId = "77be013f-4036-4311-9b5a-dab0c3d022be"

Scénarios d’exemples de données vectoriels

  • Recherche de similarité sémantique : Rechercher des produits avec des fonctionnalités similaires à l’aide d’incorporations vectorielles
  • Recommandations basées sur le contenu : générer des suggestions de produit en fonction de la similarité de description
  • Requêtes hybrides : combiner des filtres traditionnels avec une similarité vectorielle pour des résultats améliorés

Schémas JSON

Les schémas JSON suivants décrivent la structure des documents dans les deux exemples de jeux de données. Utilisez ces schémas pour valider ou générer des données similaires pour vos propres charges de travail Cosmos DB.

Schéma de document de produit standard

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory"
  ]
}

Schéma de document produit compatible avec vecteur

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string" },
    "productId": { "type": "string" },
    "name": { "type": "string" },
    "description": { "type": "string" },
    "categoryName": { "type": "string" },
    "inventory": { "type": "number" },
    "firstAvailable": { "type": "string" },
    "currentPrice": { "type": "number" },
    "priceHistory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "date": { "type": "string" },
          "price": { "type": "number" }
        },
        "required": ["date", "price"]
      }
    },
    "vectors": {
      "type": "array",
      "items": { "type": "number" },
      "minItems": 1536,
      "maxItems": 1536
    }
  },
  "required": [
    "id", "docType", "productId", "name", "description", "categoryName", "inventory", "firstAvailable", "currentPrice", "priceHistory", "vectors"
  ]
}

Passer en revue le schéma de document

{
  "type": "object",
  "properties": {
    "id": { "type": "string" },
    "docType": { "type": "string", "const": "review" },
    "productId": { "type": "string" },
    "categoryName": { "type": "string" },
    "customerName": { "type": "string" },
    "reviewDate": { "type": "string" },
    "stars": { "type": "number" },
    "reviewText": { "type": "string" }
  },
  "required": [
    "id", "docType", "productId", "categoryName", "customerName", 
    "reviewDate", "stars"
  ]
}