Ajout de métadonnées aux fichiers de stockage d'objets pour le filtrage de recherche
Vous pouvez ajouter des métadonnées aux fichiers de stockage d'objets avant de les synchroniser avec un magasin de vecteurs. Les métadonnées aident à améliorer l'extraction en permettant aux recherches sémantiques et hybrides de filtrer les résultats par attributs pertinents.
Par exemple, vous pouvez ajouter des métadonnées telles que l'année de publication, le titre, le sujet, le service, le domaine de produit ou le type de document. Une fois les fichiers synchronisés, ces champs de métadonnées peuvent être utilisés pour limiter les résultats de recherche à une portée de contenu spécifique.
Les métadonnées sont facultatives. Toutefois, si vous voulez que les métadonnées soient disponibles pour le filtrage de recherche, ajoutez ou mettez à jour les métadonnées avant d'effectuer la synchronisation des données. Les métadonnées ajoutées après une synchronisation ne sont pas incluses dans cette synchronisation, sauf si vous exécutez à nouveau la synchronisation des données.
Cette rubrique s'applique aux magasins vectoriels qui synchronisent des données non structurées à partir du service de stockage d'objets.
Ajoutez ou mettez à jour les métadonnées avant d'effectuer la synchronisation des données. Les métadonnées ajoutées après une synchronisation ne sont pas incluses dans cette synchronisation.
Fonctionnement des métadonnées
Les métadonnées sont définies comme des paires clé-valeur. Pour utiliser des métadonnées avec des fichiers de stockage d'objets, vous devez d'abord définir les champs de métadonnées dans un fichier de schéma. Ensuite, vous associez les fichiers du seau aux valeurs de métadonnées.
Pour toutes les méthodes de métadonnées du service de stockage d'objets, vous devez créer un fichier de schéma de métadonnées nommé _metadata_schema.json au niveau racine du seau de stockage d'objets. Le schéma définit les clés de métadonnées auxquelles le service peut s'attendre et le type de valeur de chaque clé.
Si le fichier _metadata_schema.json n'existe pas, les métadonnées ne sont pas calculées pour les fichiers du seau.
Chaque champ de métadonnées a un nom et un type. Les types de métadonnées pris en charge sont les suivants :
integerstringlist_of_stringdouble
Aperçu du flux de travail
Utilisez le flux de travail suivant pour préparer les métadonnées avant de synchroniser les fichiers dans un magasin de vecteurs :
- Dans un éditeur de texte, créez un fichier de schéma de métadonnées nommé
_metadata_schema.json. - Définissez les champs de métadonnées et les types de valeur au format JSON.
- Chargez
_metadata_schema.jsonau niveau racine du seau de stockage d'objets qui contient les fichiers à synchroniser. - Sélectionnez le mode d'association des valeurs de métadonnées aux fichiers :
- Appliquez les métadonnées communes à tous les fichiers du seau.
- Définissez les métadonnées de plusieurs fichiers dans un fichier JSON.
- Définissez les métadonnées dans un fichier JSON distinct pour chaque fichier de données.
- Ajoutez des métadonnées à l'aide des propriétés de métadonnées du service de stockage d'objets.
- Chargez les fichiers de métadonnées à l'emplacement approprié dans le seau de stockage d'objets.
- Effectuez une synchronisation de données pour le magasin de vecteurs.
Exemple de schéma de métadonnées
Créez un fichier de schéma de métadonnées nommé _metadata_schema.json et enregistrez-le au niveau racine du seau de stockage d'objets.
{
"metadataSchema": [
{
"name": "publication_year",
"type": "integer"
},
{
"name": "title",
"type": "string"
},
{
"name": "topic",
"type": "list_of_string"
},
{
"name": "rating",
"type": "double"
}
]
}
Les noms de métadonnées que vous utilisez dans les fichiers de métadonnées doivent correspondre aux noms définis dans le schéma.
Méthodes de métadonnées pour les fichiers de stockage d'objets
Le tableau suivant décrit les méthodes prises en charge pour ajouter des métadonnées aux fichiers du service de stockage d'objets, notamment l'endroit où créer chaque fichier ou en-tête de métadonnées et le moment où utiliser chaque méthode.
| Méthode | Nom et emplacement du fichier | Cas d'emploi |
|---|---|---|
| Définir le schéma de métadonnées | Créez _metadata_schema.json au niveau racine du seau de stockage d'objets. |
Obligatoire pour toutes les méthodes de fichier de métadonnées du service de stockage d'objets. Le schéma définit les clés de métadonnées et les types de valeur pris en charge. |
| Appliquer les métadonnées communes à tous les fichiers d'un seau | Créez _common.metadata.json au niveau racine du seau de stockage d'objets. |
À utiliser lorsque les mêmes métadonnées s'appliquent à tous les fichiers du compartiment. Cette méthode évite la duplication des métadonnées entre les fichiers. |
| Définir les métadonnées pour plusieurs fichiers dans un fichier JSON | Créez _all.metadata.json au niveau racine du seau de stockage d'objets. |
À utiliser lorsque vous avez de nombreux fichiers et que vous préférez gérer les métadonnées de tous les fichiers dans un fichier JSON au lieu de créer un fichier de métadonnées par fichier. |
| Définir les métadonnées pour un fichier | Créez <file-name>.metadata.json au même niveau que le fichier de données correspondant. La valeur <file-name> doit correspondre au nom du fichier de données. |
À utiliser lorsque les métadonnées diffèrent par fichier et que vous avez un petit nombre de fichiers, ou lorsque vous automatisez la création du fichier de métadonnées. |
| Ajouter des métadonnées en tant qu'en-têtes de stockage d'objets | Ajoutez des métadonnées à l'aide des propriétés de métadonnées du service de stockage d'objets de chaque fichier. | À utiliser uniquement lorsque vous disposez d'un petit nombre de propriétés de métadonnées. Les fichiers de métadonnées JSON sont recommandés car ils sont plus faciles à mettre à jour et à gérer. |
Exemple d'emplacement de fichier de métadonnées
L'exemple suivant montre où enregistrer les fichiers de métadonnées dans un seau de stockage d'objets.
bucket_root/
_metadata_schema.json
_common.metadata.json
_all.metadata.json
file_0.pdf
file_0.pdf.metadata.json
folder_1/
file_1.pdf
file_1.pdf.metadata.json
folder_2/
file_2.pdf
file_2.pdf.metadata.json
Pour les métadonnées propres à un fichier, le fichier de métadonnées doit être enregistré au même niveau que le fichier de données correspondant.
Par exemple, si le fichier de données est enregistré sous :
folder_1/file_1.pdf
le fichier de métadonnées doit être enregistré sous :
folder_1/file_1.pdf.metadata.json
Exemples de fichier JSON de métadonnées
Métadonnées communes pour tous les fichiers
Créez _common.metadata.json au niveau racine du seau pour appliquer les mêmes métadonnées à tous les fichiers du seau.
Exemple :
{
"metadataAttributes": {
"publication_year": 2020,
"topic": [
"cooking",
"health",
"gardening"
],
"rating": 3.3
}
}
Métadonnées pour plusieurs fichiers
Créez _all.metadata.json au niveau racine du seau pour définir les métadonnées de plusieurs fichiers dans un fichier JSON.
Exemple :
{
"folder_1/file_1.pdf": {
"metadataAttributes": {
"publication_year": 2020,
"title": "Healthy Cooking Guide",
"topic": [
"cooking",
"health"
],
"rating": 4.5
}
},
"folder_2/file_2.pdf": {
"metadataAttributes": {
"publication_year": 2022,
"title": "Gardening Basics",
"topic": [
"gardening"
],
"rating": 4.0
}
}
}
Métadonnées pour un fichier
Créez <file-name>.metadata.json au même niveau que le fichier de données correspondant.
Par exemple, pour définir les métadonnées pour file_1.pdf, créez un fichier nommé file_1.pdf.metadata.json.
Exemple :
{
"metadataAttributes": {
"publication_year": 2020,
"title": "Healthy Cooking Guide",
"topic": [
"cooking",
"health"
],
"rating": 4.5
}
}
Limites de métadonnées
Les limites suivantes s'appliquent aux métadonnées utilisées pour le filtrage de recherche.
| Description | Limite |
|---|---|
Nombre maximal d'entrées dans _all.metadata.json |
10 000 |
| Nombre maximal de champs de métadonnées pouvant être spécifiés pour chaque fichier | 20 |
Nombre maximum d'éléments dans un type list_of_string |
10 |
Longueur maximale de chaque élément d'un type list_of_string |
50 caractères |
| Longueur maximale d'une clé de métadonnées | 25 caractères |
| Longueur maximale d'une valeur de métadonnées | 50 caractères |
Utiliser des métadonnées avec Data Sync
Ajoutez le schéma de métadonnées et les fichiers de métadonnées avant de synchroniser les données avec le magasin de vecteurs.
Une fois les fichiers synchronisés, les métadonnées sont disponibles pour le filtrage de recherche. Si vous ajoutez ou modifiez des métadonnées après la synchronisation, effectuez de nouveau la synchronisation des données afin que les métadonnées mises à jour soient incluses dans le magasin de vecteurs.
Pour synchroniser des fichiers à partir du stockage d'objets, voir Synchroniser les données avec un magasin de vecteurs.