Neo4j是否允许基于函数的索引

时间:2015-01-23 06:46:16

标签: indexing neo4j

我想在neo4j中的一个或多个节点属性上创建几个包含用户定义函数结果的索引。

示例属性:名称,邮政编码

功能:name_1st_3_chars +邮政编码

名称:“dave”,邮政编码:“nw14da”

功能值:davnw14da

我希望能够根据函数值进行非常快速的节点查找。

1 个答案:

答案 0 :(得分:3)

你可以通过一些java编码实现这一点。使用GraphDatabaseService注册TransactionEventHandler。 TransactionEventHandlers提供了挂钩到事务机制的回调函数。这种方式可以执行所描述的“函数属性”的计算。需要使用setProperty存储计算的属性。

要建立索引,请使用CREATE INDEX ON :MyLabel(myfunctionProperty)

使用该MATCH (something:MyLabel) WHERE something.myfuntionPropery = 'davnw14da' RETURN something之类的查询将使用声明的索引。