Heim > Datenbank > MySQL-Tutorial > Wie strukturiert man einen ElasticSearch-Index für mehrere Entitätsbindungen in einer E-Commerce-Anwendung?

Wie strukturiert man einen ElasticSearch-Index für mehrere Entitätsbindungen in einer E-Commerce-Anwendung?

Mary-Kate Olsen
Freigeben: 2024-12-06 07:15:12
Original
218 Leute haben es durchsucht

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

Einrichten der ElasticSearch-Indexstruktur mit mehreren Entitätsbindungen

Problem:

Implementierung von ElasticSearch (ES) für eine bestehende e -Commerce-Anwendung mit einer MySQL-Datenbank. Wie sollte die Indexstruktur eingerichtet werden, um ein komplexes Datenbankschema mit mehreren Entitäten darzustellen? Bindungen?

Antwort:

Denormalisierungsansatz:

Um mehrere Entitätsbindungen zu verarbeiten, wird ein denormalisierter Ansatz empfohlen. Reduzieren Sie die Datenstruktur, indem Sie eine Eins-zu-Eins-Zuordnung zwischen Dokumenten und Entitäten erstellen. Erstellen Sie in diesem Fall einen einzelnen Dokumenttyp mit dem Namen „Produkt“, der alle erforderlichen Felder aus den Tabellen „Produkte“, „Flags“ und „FlagsProdukte“ enthält.

Produktdokumentstruktur:

{
   "id": "00c8234d71c4e94f725cd432ebc04",
   "title": "Alpha",
   "price": 589.0,
   "flags": ["Sellout", "Top Product"]
}
Nach dem Login kopieren

ElasticSearch Mapping:

Der Zuordnungstyp für die Der Index „Produkt“ würde wie folgt aussehen:

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"
                }
            }
        }
    }
}
Nach dem Login kopieren

SQL-Abfrage für die Datenextraktion:

Um die erforderlichen Daten aus der Datenbank zu extrahieren, verwenden Sie die folgende SQL-Abfrage:

Das obige ist der detaillierte Inhalt vonWie strukturiert man einen ElasticSearch-Index für mehrere Entitätsbindungen in einer E-Commerce-Anwendung?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage