Maison > base de données > tutoriel mysql > Comment structurer un index ElasticSearch pour les liaisons d'entités multiples dans une application de commerce électronique ?

Comment structurer un index ElasticSearch pour les liaisons d'entités multiples dans une application de commerce électronique ?

Mary-Kate Olsen
Libérer: 2024-12-06 07:15:12
original
239 Les gens l'ont consulté

How to Structure an ElasticSearch Index for Multiple Entity Bindings in an E-commerce Application?

Configuration de la structure d'index ElasticSearch avec plusieurs liaisons d'entités

Problème :

Implémentation d'ElasticSearch (ES) pour un e-mail existant -application de commerce avec une base de données MySQL, comment la structure d'index doit-elle être configurée pour représenter un schéma de base de données complexe impliquant plusieurs entités liaisons ?

Réponse :

Approche de dénormalisation :

Pour gérer les liaisons de plusieurs entités, une approche dénormalisée est recommandée. Aplatissez la structure des données en créant un mappage un-à-un entre les documents et les entités. Dans ce cas, créez un type de document unique appelé « produit » qui comprend tous les champs nécessaires des tables « Produits », « Flags » et « flagsProducts ».

Structure du document produit :

{
   "id": "00c8234d71c4e94f725cd432ebc04",
   "title": "Alpha",
   "price": 589.0,
   "flags": ["Sellout", "Top Product"]
}
Copier après la connexion

Mappage ElasticSearch :

Le type de mappage pour le L'index "produit" ressemblerait à :

PUT products
{
    "mappings": {
        "product": {
            "properties": {
                "id": {
                    "type": "string",
                    "index": "not_analyzed"
                },
                "title": {
                    "type": "string"
                },
                "price": {
                    "type": "double",
                    "null_value": 0.0
                },
                "flags": {
                    "type": "string",
                    "index": "not_analyzed"
                }
            }
        }
    }
}
Copier après la connexion

Requête SQL pour l'extraction de données :

Pour extraire les données nécessaires de la base de données, utilisez la requête SQL suivante :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal