2013-03-09 24 views
0

當我在neo4j控制檯執行下面的查詢,我得到正確的結果集。 start n = node:search('username:*')return n.username;與密碼查詢和彈簧neo4j通配符搜索

我在我的java web應用程序中使用彈簧數據neo4j。

在存儲庫中的代碼,我定義的查詢爲:

@Query(「START N =節點:搜索({0})RETURN n.name如姓名,n.username作爲用戶名 參數傳遞 { 0} =「用戶名:*」?

沒有例外,但結果集的大小爲0

能否請你幫我解決這個問題

+0

不確定,但嘗試使用字符串而不是整數(0)引用您的參數。 {luceneQuery} – tstorms 2013-03-09 15:24:15

+0

您確定數據已正確編入索引嗎?索引名稱'搜索'索引鍵'用戶名'?你能用普通的lucene查找來檢查嗎? – 2013-03-10 09:05:00

回答

1

遺憾的是,整個Lucene的查詢不能是參數在Cypher中,如fa據我所知。你可能需要求助於字符串連接/插值。與我關於關係類型作爲參數發佈的問題類似:https://github.com/neo4j/neo4j/issues/340

+0

我被其他東西卡住了,無法在一段時間內試用。我仍然不確定爲什麼當使用@Query註釋並給出查詢時,通配符搜索不起作用 - @Query(「START n = node:search('username:*')RETURN n.name as name,n .username as username。然而,我可以在我的應用程序中使用Result > result = neo4jTemplate.query(query,map)來運行這個。當我在參數中傳遞相同的查詢時,它工作。 – user2138493 2013-03-20 03:36:14