2013-07-01 58 views
1

有什麼辦法可以在neo4j中結合lucene索引和遍歷來搜索按名稱索引的用戶,但搜索結果應該首先返回最小深度(或寬度優先遍歷) ..在neo4j中結合lucene索引和遍歷以給出單個結果集

ie即搜索名稱爲「John *」的所有用戶,但與特定用戶節點的距離應該比其他用戶更優先。 即說該特定節點爲X,則輸出應該是按以下順序:

X - JohnG

X ------ JohnM

X ------- -----------佐尼

等等...

,我不知道我是否應該使用評估來濾除名字,因爲可能有數千個節點等沒有索引,它聽起來不太有效。

感謝您的幫助!

+0

你想在Cypher中做到這一點?你打算使用什麼版本的Neo4j? – Nicholas

+0

我正在使用RESTAPI與neo4jphp,我認爲它直接調用遍歷Java API(無密碼或gremlin)。 Neo4j版本1.9 – DevD

回答

0

我不相信這是可能的。我沒有看到REST遍歷框架中的任何地方,您可以通過索引定義節點,只能通過節點ID來定義。你需要做的是使用REST框架來執行索引查找以獲取節點ID,然後執行遍歷。

+0

不會很慢,如果索引查找返回數百個節點。 – DevD

+0

是的,但是正常的遍歷框架無論如何都是這樣,一次只能傳入一個節點。 – Nicholas

+0

任何其他替代方法使用密碼或某事更快地執行此操作。 – DevD