我想在neo4j中的一个或多个节点属性上创建几个包含用户定义函数结果的索引。
示例属性:名称,邮政编码
功能:name_1st_3_chars +邮政编码
名称:“dave”,邮政编码:“nw14da”
功能值:davnw14da
我希望能够根据函数值进行非常快速的节点查找。
答案 0 :(得分:3)
你可以通过一些java编码实现这一点。使用GraphDatabaseService
注册TransactionEventHandler
。 TransactionEventHandlers提供了挂钩到事务机制的回调函数。这种方式可以执行所描述的“函数属性”的计算。需要使用setProperty
存储计算的属性。
要建立索引,请使用CREATE INDEX ON :MyLabel(myfunctionProperty)
。
使用该MATCH (something:MyLabel) WHERE something.myfuntionPropery = 'davnw14da' RETURN something
之类的查询将使用声明的索引。