Spring Data Neo4J @Query

时间:2014-10-09 22:50:51

标签: java spring neo4j spring-data-neo4j

我有两个NodeEntities:Speaker和Talks。 扬声器已设置 现在我正在创建SpeakerRepository扩展GraphRepository,一切正常。 但是我没有成功创建Query以获取所有与标题对话的发言者,其中包含特定单词。 例如,我想让所有发言者谈论春天。 方法是:设置findAllSpeakerWithTalksLike(String partOfTalkTitle) 你能解释一下这个方法上面@Query注释的内容应该是什么

1 个答案:

答案 0 :(得分:0)

尝试这一个,假设您的Talk具有title属性且Speakertalks相关的集合。

  Set<Speaker> findAllSpeakerWithTalksTitleContaining(String partOfTalkTitle)

密码查询将是,它在大型数据集上不会很快b / c没有支持它的索引。

MATCH (t:Talk)<-[:TALK]-(s:Speaker) WHERE t.title = ".*partOfTalkTitle.*"
RETURN s

您可以注释@Indexed(type=FULLTEXT) String title;然后它将使用传统的lucene全文索引进行搜索。