2014-10-09 161 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

相關問題