Einrichten einer ElasticSearch-Indexstruktur mit mehreren Entitätsbindungen
Einführung
Einrichten einer Eine effektive Indexstruktur von ElasticSearch (ES) ist für die effiziente Verwaltung und Abfrage von Daten von entscheidender Bedeutung. Bei der Arbeit mit mehreren Entitätsbindungen ist es wichtig, den Index für eine optimale Such- und Abrufleistung zu optimieren.
Abflachen der Datenstruktur
In der bereitgestellten Datenbankstruktur mehrere Tabellen werden zur Darstellung von Produkten und den zugehörigen Flags verwendet. Um den ES-Index zu vereinfachen, wird empfohlen, die Datenstruktur zu verflachen und zu denormalisieren. Durch die Erstellung von Produktdokumenten, die alle relevanten Informationen, einschließlich Flaggen, enthalten, beseitigen wir die N:M-Beziehung zwischen Produkten und Flaggen. Dieser Ansatz ermöglicht einfachere Abfragen von Flag-Attributen.
Beispielproduktdokumente
{ "id": "00c8234d71c4e94f725cd432ebc04", "title": "Alpha", "price": 589.0, "flags": ["Sellout", "Top Product"] } { "id": "018357657529fef056cf396626812", "title": "Beta", "price": 355.0, "flags": ["Discount"] } { "id": "01a2c32ceeff0fc6b7dd4fc4302ab", "title": "Gamma", "price": 0.0, "flags": ["Discount"] }
Produktzuordnungstyp
Die Der ES-Zuordnungstyp für die Produktdokumente 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" } } } } }
SQL-Abfrage für Daten abrufen
Um die benötigten Daten aus der Datenbank zu extrahieren, ist eine modifizierte SQL-Abfrage notwendig:
Das obige ist der detaillierte Inhalt vonWie optimiert man die ElasticSearch-Indexstruktur für mehrere Entitätsbindungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!