Search Neo4j在多个节点的属性内快速查找字符串
我正在使用neo 2.2.2,目前我正在使用正则表达式搜索在超过600k个节点的name属性中查找字符串 每个节点的结构至少包含以下两个属性Search Neo4j在多个节点的属性内快速查找字符串,search,neo4j,Search,Neo4j,我正在使用neo 2.2.2,目前我正在使用正则表达式搜索在超过600k个节点的name属性中查找字符串 每个节点的结构至少包含以下两个属性 { name: 'some string of text', sid: 12345 } 我在name上创建了一个索引,在sid上创建了另一个索引。查找sid非常快。[使用正则表达式]的搜索速度非常慢。目前我正在搜索一个前后带有*的字符串 使用neo可以做些什么来快速搜索属性中的字符串 如果在neo中做一些特殊的事情并不理想,理论上我可以建立一些与
{
name: 'some string of text',
sid: 12345
}
我在name
上创建了一个索引,在sid
上创建了另一个索引。查找sid
非常快。[使用正则表达式]的搜索速度非常慢。目前我正在搜索一个前后带有*
的字符串
使用neo可以做些什么来快速搜索属性中的字符串
如果在neo中做一些特殊的事情并不理想,理论上我可以建立一些与Neo4j不同的补充算法/服务,在name属性中搜索字符串值,然后给我sid
,然后用于查找neo中的节点
请帮我用neo4j快速搜索字符串。:) 您可以使用传统全文索引来加快搜索速度。向您展示如何使用。一般来说,正则表达式非常昂贵。在我看来,你应该找到另一个解决办法 您能告诉我们更多关于您的用例以及为什么要使用Regex吗 你已经提出了一个解决方案。以另一种格式(或数据库)存储SID和名称,这对于正则表达式搜索比Neo4j具有更好的性能 或者对名称属性内容进行一些分析,并在此基础上创建内容的图形表示 e、 g.
*名称属性中字母计数的节点
*起始字母的节点
*将名称属性拆分为多个属性
*等等。我不想使用正则表达式,这是必然的。我之所以使用它,是因为我找不到在属性中搜索子字符串的其他方法。