Neo4j 是否允许基于函数的索引
Does Neo4j allow function based indexes
我想在 neo4j 的一个或多个节点属性上创建多个包含用户定义函数结果的索引。
示例属性:姓名、邮政编码
函数:name_1st_3_chars + 邮编
姓名:"dave",邮政编码:"nw14da"
函数值:davnw14da
我希望能够根据函数值进行非常快速的节点查找。
您可以通过一些 java 编码来实现这一点。用你的 GraphDatabaseService
注册一个 TransactionEventHandler
。 TransactionEventHandlers 提供挂接到事务机制的回调函数。这种方式可以做一个"function property"描述的计算。计算出来的属性需要用setProperty
存储。
建立索引,使用CREATE INDEX ON :MyLabel(myfunctionProperty)
。
有了它,像 MATCH (something:MyLabel) WHERE something.myfuntionPropery = 'davnw14da' RETURN something
这样的查询将使用声明的索引。
我想在 neo4j 的一个或多个节点属性上创建多个包含用户定义函数结果的索引。
示例属性:姓名、邮政编码
函数:name_1st_3_chars + 邮编
姓名:"dave",邮政编码:"nw14da"
函数值:davnw14da
我希望能够根据函数值进行非常快速的节点查找。
您可以通过一些 java 编码来实现这一点。用你的 GraphDatabaseService
注册一个 TransactionEventHandler
。 TransactionEventHandlers 提供挂接到事务机制的回调函数。这种方式可以做一个"function property"描述的计算。计算出来的属性需要用setProperty
存储。
建立索引,使用CREATE INDEX ON :MyLabel(myfunctionProperty)
。
有了它,像 MATCH (something:MyLabel) WHERE something.myfuntionPropery = 'davnw14da' RETURN something
这样的查询将使用声明的索引。