Heim > Datenbank > MySQL-Tutorial > Wie strukturiert man einen Elasticsearch-Index für mehrere Entitätsbeziehungen?

Wie strukturiert man einen Elasticsearch-Index für mehrere Entitätsbeziehungen?

Susan Sarandon
Freigeben: 2024-11-29 16:32:10
Original
896 Leute haben es durchsucht

How to Structure an Elasticsearch Index for Multiple Entity Relationships?

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:

  • Produkte (ID, Titel, Preis)
  • Flags (ID, title)
  • FlagsProducts (Pivot-Tabelle mit Produkt-ID, Flag-ID, externer ID)

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

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

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!

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