Neo4J 中的分层全文搜索



>我在neo4j中有父/子图:决定(父,子决定列表),其中具有属性名称(字符串) 我将用于搜索。 它通过查询完美地找到了我在名称中包含搜索词的决定:

START d=node:node_auto_index({autoIndexQuery}) MATCH (d:Decision) RETURN d

我想使此查询复杂化,以查找名称中包含搜索词并且在其子名称中具有搜索词的决定:

Name of relation is CONTAINS (Decision CONTAINS decisions)

我认为以下查询应该有效:

START parent=node:node_auto_index({autoIndexQuery}) 
WITH parent
START child=node:node_auto_index({autoIndexQuery}) 
MATCH (parent:Decision)-[:contains]->(child:Decision) 
where parent <> child
RETURN parent, child;

这里的一个问题是全文查询条件(我认为)只能在START块中进行。 这意味着您需要以这种方式匹配父项和子项,然后将它们与MATCH连接。

这可能需要一些时间才能完成,具体取决于匹配的节点数,因为查询主要查看匹配的所有节点之间是否存在此父/子关系。 但它应该完成工作。

最新更新