我认为标题有点模糊,所以我将准确地解释我的问题。
我在 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”
对此有什么想法吗?
谢谢