弹簧数据Neo4j 5和@Index用于动态@Properties

弹簧数据Neo4j 5和@Index用于动态@Properties,neo4j,spring-data-neo4j,neo4j-ogm,spring-data-neo4j-5,Neo4j,Spring Data Neo4j,Neo4j Ogm,Spring Data Neo4j 5,是否正确索引SDN 5动态@属性 以下财产申报是否有效: @Index(unique = false) @Properties(prefix = NAME_PROPERTY_PREFIX) private Map<String, String> nameProperties = new HashMap<>(); @索引(unique=false) @属性(前缀=名称\属性\前缀) 私有映射nameProperties=newhashmap(); namePropert

是否正确索引SDN 5动态@属性

以下财产申报是否有效:

@Index(unique = false)
@Properties(prefix = NAME_PROPERTY_PREFIX)
private Map<String, String> nameProperties = new HashMap<>();
@索引(unique=false)
@属性(前缀=名称\属性\前缀)
私有映射nameProperties=newhashmap();

nameProperties
map中的所有属性键都将被单独索引吗?请描述。

此功能不受支持,因为如果启用自动索引,索引创建将在应用程序启动时扫描类。由于扫描类时没有要查找的已知字段(映射键),因此没有创建索引


此外,当我尝试上面的示例时,我看到在属性字段名称(
nameProperties
)上创建了一个无用的索引,而该索引在Neo4j中从未使用过。

感谢您的回答。是否有任何可能的选项可以使用上述方法创建具有动态属性的索引?幕后的主要思想是本地化我的应用程序以支持任何语言。例如,目前,我只声明了
字符串名称
属性,但还希望允许用户使用他们想要的任何语言。。我现在不知道这些语言是什么。。例如,
name\u en
name\u fr
name\u it
等等。。。这就是为什么我想为此使用动态属性。是否真的有必要为这些特定属性编制索引?也许是,但对我来说,这听起来有点不对劲。索引的基本思想是提供一个“快速”条目来遍历图形。在您的设置中,通过搜索所有国际化节点的转换值来查询它们!?如果这真的是你想要的,我最好的猜测是显式支持一些语言(思维实验:或者如果有很多语言需要支持,而这远远不是我认为的好的建模方法并导致更多的关系,那么添加一个语言节点来保存节点的翻译。)谢谢,你完全正确!我重温了我的解决方案,最合适的方法是使用关系解决方案,而不是试图将所有内容都放在单个节点中。