Spring 集合上的数据 Neo4j @Index 注释 属性

Spring Data Neo4j @Index annotation on collection property

SDN @Index 能否在集合属性上正常工作,如下所示:

@Index(unique = false)     
private Set<Long> optionIds; 

这是可能的并且应该有效,应该在 属性 optionIds 上为给定的标签创建一个索引。

但这很可能不会像您预期的那样工作。问题来自 Neo4j 索引数组的方式(以及它不能索引集合的事实 - 只能列表并且它不能索引数组中的单个元素)。

整个数组将被索引,然后可以通过整个数组再次查找。如果您想按整个集合进行索引查找,请使用排序集合,以便 ID 在存储的数组中始终保持相同的顺序(Set 由 OGM 存储为数组)。

您不能通过索引数组中的单个元素进行索引查找。