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
180 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!

source:php.cn
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