2017-11-27 3 views
3

Hot SDN 5 dynamische @ Eigenschaften richtig indexieren?Spring Data Neo4j 5 und @Index für dynamische @Properties

wird die folgende Eigenschaft Erklärung Arbeit:

@Index(unique = false) 
@Properties(prefix = NAME_PROPERTY_PREFIX) 
private Map<String, String> nameProperties = new HashMap<>(); 

werden alle Eigenschaften Schlüssel innerhalb von nameProperties Karte separat indiziert werden? Bitte beschreiben.

Antwort

3

Diese Funktion wird nicht unterstützt, da die Indexerstellung, wenn der automatische Index aktiviert ist, die Klassen beim Start der Anwendung scannt. Da keine bekannten Felder (Map Keys) zu erkennen sind, wenn die Klasse gescannt wurde, wird kein Index erstellt.

Zusätzlich, als ich Ihre Probe von oben versuchte, sah ich, dass ein nutzloser Index für die Eigenschaft Felder Name (nameProperties) erstellt wird, die nie in Neo4j verwendet wird.

+0

Danke für Ihre Antwort. Gibt es mögliche Optionen, um Indizes mit dem genannten Ansatz mit dynamischen Eigenschaften zu erstellen? – alexanoid

+0

Die Hauptidee hinter der Szene - ist, meine Anwendung zu lokalisieren, um alle Sprachen zu unterstützen. Zum Beispiel habe ich zur Zeit nur die Eigenschaft 'String name' deklariert, möchte aber den Benutzern alle Sprachen erlauben, die sie wollen. Ich kenne die Menge dieser Sprachen jetzt nicht .. zum Beispiel' name_de', 'name_fr',' name_it' und so weiter ... Aus diesem Grund möchte ich dynamische Eigenschaften für diesen Zweck verwenden. – alexanoid

+1

Ist es wirklich notwendig, diese besonderen Eigenschaften zu indexieren? Es mag sein, aber für mich klingt das irgendwie falsch. Die Grundidee des Index besteht darin, einen "schnellen" Eintrag zum Durchlaufen des Graphen bereitzustellen. In Ihrer Einstellung fragen Sie alle internationalisierten Knoten ab, indem Sie nach ihren übersetzten Werten suchen !? Wenn dies wirklich das ist, was Sie wollen, ist es meine beste Vermutung, einige Sprachen explizit zu unterstützen (Gedankenexperiment: oder wenn es viele Sprachen zu unterstützen gibt, und das ist weit von dem, was ich denke, ist ein guter Modellierungsansatz und führt zu mehr Beziehungen, füge einen Sprachknoten hinzu, der die Übersetzungen für einen Knoten enthält.) – meistermeier

Verwandte Themen