Neo4j Cypher中的正则表达式

时间:2015-01-22 11:06:00

标签: neo4j spring-data-neo4j

我们正在使用Spring Data Neo4j使用Neo4j数据库。现在我们有很多cypher查询,我们使用正则表达式,现在我们处于开发模式,所以我们的数据库中只有2000个节点,如果Neo4j数据库有数百万个节点,它会影响性能吗? 有没有办法摆脱它? 或者我们必须制作我们没有正则表达式的这种类型的密码?

2 个答案:

答案 0 :(得分:2)

Neo4j不会使用正则表达式的索引,因此在你成长时肯定会影响你的查询性能。

你能举一些正则表达式的例子吗?可能还有另一种方法可以解决它。

根据您的正则表达式,您可以使用旧索引复制功能。或者,您可以使用elasticsearch等外部工具来支持全文搜索

答案 1 :(得分:1)

在下一个版本中,Neo4j将支持LIKE操作的索引。可能不适用于正则表达式。

您可以对此类查询使用手动lucene全文索引,只需使用

注释您的字段

@Index(type = FULLTEXT,indexName =" search")字符串描述;

然后您可以在START子句中使用查询语法。

见这里:http://neo4j.com/docs/stable/query-start.html#_get_node_or_relationship_from_index

START n=node:search("description:keyword")
RETURN n

另请参阅:http://jexp.de/blog/2014/03/full-text-indexing-fts-in-neo4j-2-0/