2016-09-14 99 views
1

我想要执行以下操作,我想运行索引搜索并收集所有节点,路径等,存储新的子图并在该新的子图上运行另一个搜索。在neo4j的子图中搜索

例如:

  • 首先搜索 CALL apoc.index.search("cat", "Category.name:fashion") YIELD node AS catg
  • 第二次搜索 CALL apoc.index.search("cat", "Category.name:dresses") on the new resultant graph

的数据非常类似亚马逊的分类树,其中顶部是时尚,然后将其它下面有树。所以有多个根节点。

任何帮助或指针,将不胜感激。

+0

答案取决于你的数据是怎样的以及你想要达到什么样的。手动索引是在定义的一组节点上进行全文查询,我认为你不能将它们链接起来。 –

+0

@MartinPreusse如果我们无法链接全文查询,我们可以构建子图并在其上使用Match。 – Nikhil

+0

作为索引搜索的一部分,我们也可以匹配节点属性,例如搜索名称和匹配属性性别? – Nikhil

回答

0

我建议改变你的数据模型。而不是将类别作为属性中的属性或列表项,可以将其建模为:类别节点。通过这种方式,产品的类别由它们之间的关系来定义:类别节点,它还允许基于类别的更容易的查询:匹配所需的类别,然后匹配与这些类别具有关系的产品。