2014-10-09 163 views
1

我有两个NodeEntities:Speaker和Talks。 扬声器已设置 现在我正在创建SpeakerRepository扩展GraphRepository,并且一切正常。 但我没有成功创建查询以获取所有与包含特定词汇的标题进行对话的发言人。 例如,我想让所有谈论春天的演讲者都能听到。 的方法是:设置findAllSpeakerWithTalksLike(字符串partOfTalkTitle) 能否请你解释一下应该是@Query注释这种方法Spring Data Neo4J @查询

回答

0

上述内容试试这个,假设你Talktitle属性和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全文索引的搜索。

+0

我试过这个...错误执行语句MATCH(t:Talk)< - [:TALK] - (s:Speaker)WHERE t.title =。* partOfTalkTitle。* RETURN s 输入无效'*':预期的数字(第1行,第54列) “MATCH(t:Talk)< - [:TALK] - (s:Speaker)WHERE t.title =。* partOfTalkTitle。* RETURN s” – 2014-10-10 01:36:53

相关问题