我認爲標題有點模糊,所以我要解釋我的問題。Neo4j中的Lucene索引不能按預期工作
我創造了Neo4j的一些節點,然後對其進行索引是這樣的:
Index<Node> myindex = graphDb.index().forNodes(
"myindex",
MapUtil.stringMap(IndexManager.PROVIDER, "lucene", "type",
"fulltext"));
Node n = graphDb.createNode(); //create the node
node.setProperty("firstname", "firstname"); //add properties
node.setProperty("familyname", "familyname");
myindex.add(node, "familyname", "familyname"); //index it
但是,當我需要更新節點「n」的特性(例如變‘familyname’到‘FNAME’) ,通過基於索引的搜索無法找到此節點!
所以更新的財產,這個暗號查詢
start n= node:myindex(familyname:"familyname") return n
返航的節點,而更新後之前,我期待:
start n= node:myindex(familyname:"fname") return n
與新返回相同的節點財產,但它不起作用!雖然第一個查詢總是在工作,就像索引被綁定到屬性「familyname」一樣
對此有何想法?
感謝
您應該更新該索引也是(首先刪除,然後添加)。 – tstorms
現在就試試吧! – Anas
你是對的!其實,我認爲索引被綁定到Node和所選擇的屬性上。謝謝 – Anas