2010-07-27 86 views
0

我正在使用BatchInsert和LuceneIndexBatchInserter api來創建我的圖形(現在約有10000個節點)。事情是BatchInserter.createNode(...)返回一個長。如何在創建並編制索引後使用Neo4j BatchInserted節點?

BatchInserter inserter = new BatchInserterImpl(DB_PATH, BatchInserterImpl.loadProperties( "neo4j.props")); 
long node = inserter.createNode(properties); 

其中屬性是一個Map(String,Object)。

我真正需要的是獲得Node類型的新節點。

Node node = inserter.createNode(properties); 

這樣我就可以使用shortestPath api並傳入startNode和targetNode。

所以,基本上,我能從索引中獲得一個節點作爲一個節點而不是很長嗎?

也許如果有人可以解釋爲什麼batchInserter返回類型爲long的節點而不是類型Node?希望這對某人有意義,謝謝。

回答

0

批量插入器不適合正常使用,它是只有用於插入數據。如果你看看wiki page,你會發現你在創建關係時使用了多頭。所以你做的是:

  1. 插入數據
  2. 關機batchinserter
  3. 開始graphdb
  4. ,不管你喜歡
+0

難道我要開始graphdb最短路徑和前進在關閉batchInserter以將索引傳輸到graphdb之前,我可以使用它們嗎?或者我錯過了什麼? btw感謝您的幫助 – mmay 2010-07-28 14:14:43

+0

不確定這裏是什麼意思,但是當關閉batchinserter的時候,數據將會在數據庫中,並且在啓動嵌入的graphdb之後,您可以讀取和寫入該數據庫。也許這就是你要找的東西:[用BatchInserter索引](http://wiki.neo4j.org/content/Indexing_with_BatchInserter)? – nawroth 2010-07-28 20:30:22

+0

好吧,我明白了。我的印象是,當你關閉BatchInserter和IndexBatchInserter時,索引將被刪除。我可以看到,情況並非如此。謝謝! – mmay 2010-07-29 15:30:58