Ich versuche eine dynamische Zuordnung für Objekte wie folgt zu erstellen:
%Vor% Ich möchte, dass die feature_*
-Eigenschaften ein verschachtelter Typ sind, den ich in der Abbildung unten mit der Vorlage "nested_feature" definiert habe und wie erwartet funktioniert. Ich möchte aber auch, dass jede Eigenschaft im geschachtelten Objekt der feature_*
-Eigenschaft multi_value
ist, wobei eine zusätzliche facet
-Eigenschaft definiert ist. Ich habe die zweite nested_template Vorlage versucht, aber ohne Erfolg.
Leider werden die Eigenschaften in den feature_*
-Eigenschaften aus einem anderen Prozess erstellt und können fast jedes Name / Wert-Paar sein. Vorschläge zur Verwendung einer dynamischen Vorlage zum Einrichten einer Eigenschaft als verschachtelt sowie zum Einbetten jeder Eigenschaft in das verschachtelte Objekt multi_field
mit einer zusätzlichen Eigenschaft facet
?
Sie müssen nur path_match
anstelle von match
verwenden, wenn sich das Muster auf den gesamten Feldpfad bezieht, andernfalls wird nur der Name (letzter Teil) berücksichtigt. Werfen Sie einen Blick auf die Referenzseite für den Root Objekt, das auch einige Dokumentation zu dynamischen Vorlagen enthält.
Sie können auch match_mapping_type
verwenden, da Sie "index":"analyzed"
nicht für numerische oder boolesche Felder festlegen können. In diesem Fall sollten Sie je nach Feldtyp unterschiedliche Aktionen ausführen.
Ich habe festgestellt, dass Ihr Dokument das Produktstammobjekt enthält, das Sie nicht wirklich benötigen. Ich würde es entfernen, da der Typname bereits Produkt ist.
Außerdem würde ich es vermeiden, Felder explizit zu speichern, es sei denn, Sie müssen es wirklich tun. Wie bei elasticsearch haben Sie die _source
field wird standardmäßig gespeichert, was Sie immer brauchen werden.
Das folgende Mapping sollte in Ihrem Fall funktionieren (ohne das Produktstammobjekt in den Dokumenten):
%Vor%Tags und Links elasticsearch