Heim >Datenbank >MySQL-Tutorial >Wie strukturiert man einen Elasticsearch-Index für mehrere Entitätsbeziehungen?
So strukturieren Sie den ElasticSearch-Index mit mehreren Entitätsbindungen
Einführung
Integration von ElasticSearch (ES ) in bestehende Anwendungen wirft häufig die Frage auf, wie komplexe Datenbankstrukturen im ES-Index repliziert werden können. Dieser Artikel befasst sich mit der besonderen Herausforderung der Konfiguration der Indexstruktur beim Umgang mit mehreren Entitätsbindungen.
Datenbankstruktur
Betrachten Sie die folgende Datenbankstruktur aus einer E-Commerce-Anwendung:
Abflachung der Struktur
Zur Optimierung der Abfrage und Vereinfachung Für die Verwendung wird empfohlen, die Daten durch Abflachen der Struktur zu denormalisieren. Dazu gehört die Erstellung von Produktdokumenten, die alle relevanten Informationen aus den anderen Tabellen enthalten:
{ "id": "00c8234d71c4e94f725cd432ebc04", "title": "Alpha", "price": 589.0, "flags": ["Sellout", "Top Product"] }
ES-Produktzuordnung
Der entsprechende ES-Produktzuordnungstyp wäre:
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" } } } } }
Logstash-SQL-Abfrage
Um den ES-Index zu füllen, a Die Logstash-JDBC-Eingabe kann mit der folgenden Abfrage verwendet werden:
Das obige ist der detaillierte Inhalt vonWie strukturiert man einen Elasticsearch-Index für mehrere Entitätsbeziehungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!