Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database Neo4j-如何在全文搜索中使用createRelationshipIndex/createNodeIndex_Database_Neo4j_Cypher - Fatal编程技术网

Database Neo4j-如何在全文搜索中使用createRelationshipIndex/createNodeIndex

Database Neo4j-如何在全文搜索中使用createRelationshipIndex/createNodeIndex,database,neo4j,cypher,Database,Neo4j,Cypher,因此,我了解到Neo4j 3.5及以上版本通过createNodeIndex()在cypher查询中实现全文搜索,例如: CALL db.index.fulltext.createNodeIndex("myIndex", ["PersonNode"], ["name"]) 其中,myIndex是我用来存储索引的任意变量,PersonNode是我节点标签的名称,name是我希望在其中执行全文搜索的PersonNode的属性之一 要通过name实际执行搜索,我可以执行以下操作: CALL db.i

因此,我了解到Neo4j 3.5及以上版本通过
createNodeIndex()
在cypher查询中实现全文搜索,例如:

CALL db.index.fulltext.createNodeIndex("myIndex", ["PersonNode"], ["name"])
其中,
myIndex
是我用来存储索引的任意变量,
PersonNode
是我节点标签的名称,
name
是我希望在其中执行全文搜索的
PersonNode
的属性之一

要通过
name
实际执行搜索,我可以执行以下操作:

CALL db.index.fulltext.queryNodes("myIndex", "Charlie")
但是现在假设
PersonNode
具有类型为
PURCHASED\u ITEM
的关系,该关系连接到另一个节点标签
ProductNode
,如下所示:

PersonNode-[:PURCHASED_ITEM]->ProductNode
并进一步假设
ProductNode
具有一个名为
productTitle
的属性,该属性指示每个产品的显示标题名称

我的问题是,我想为这种关系建立一个索引(大概使用
createRelationshipIndex()
),并通过
productTitle
执行全文搜索,并返回购买给定产品的所有
PersonNode
的列表。我该怎么做


附录:我理解,可以通过首先获取与给定标题匹配的所有
ProductNode
实例的列表,然后执行普通的密码查询来提取所有相关的
PersonNode
实例来完成上述操作。我还了解,对于上面的示例,我只需要一个普通的密码查询。但我问这个问题的原因是,我最终需要实现一个搜索栏,允许用户输入任何文本,包括可能的拼写错误和所有内容,并让它通过多个属性和/或PersonNode的关系执行搜索,结果需要按照某种相关性评分进行排序。为了做到这一点,我觉得我需要首先准确掌握neo4j中的关系查询是如何工作的。

下面是一个示例,说明如何为
PURCHASED\u ITEM
关系的
productTitle
属性创建全文索引:

CALL db.index.fulltext.createRelationshipIndex("myRelIndex", ["PURCHASED_ITEM"], ["productTitle"])
下面是一个显示该索引使用情况的片段:

CALL db.index.fulltext.queryRelationships("myRelIndex", "Hula Hoop") YIELD relationship, score
...