如何在neo4j中使用对边节点的全文搜索来查找关系的指针节点

u4dcyp6a  于 2022-11-05  发布在  其他
关注(0)|答案(3)|浏览(153)

这个问题与Neo4j数据库有关。假设我有一个关系(employee)-[WORKS-IN]-〉(company)。假设一个雇员在多个公司工作。我应该能够在neo4j中使用全文搜索找到特定雇员工作的公司。我将从用户名搜索,我应该能够返回公司节点。如何做到这一点?
必须使用全文搜索。

chhqkbe1

chhqkbe11#

因此,您希望按姓名和全文搜索Person,然后检索他工作过的公司。
这与Neo4j中默认的Movies图表进行了简单的比较,您希望通过姓名和全文搜索Person,然后检索该人所演的电影。

CALL db.index.fulltext.queryNodes('Person', 'kea*')
YIELD node
MATCH (node)-[:ACTED_IN]->(movie)
RETURN node.name, movie.title
dsf9zpds

dsf9zpds2#

这是我创建此节点时的一个示例:

CREATE (e:Employee {name: 'Nirmana Testing'})

然后在www.example.com上创建全文索引Employee.name

CREATE FULLTEXT INDEX employeeNameIdx FOR (e:Employee) ON EACH [e.name]

然后使用这个全文索引运行一个查询。注意到关键字'nirmana'可以是大写或任何大小写。

CALL db.index.fulltext.queryNodes("employeeNameIdx", "nirmana") YIELD node as employee
MATCH (employee)-[:WORKS-IN]->(company:Company)
RETURN employee, company

参考:https://neo4j.com/docs/cypher-manual/current/indexes-for-full-text-search/

lnlaulya

lnlaulya3#

非常感谢。整理好了。还有一件事。假设对于一个特定的员工,可以有除[WORKS-IN]之外的各种关系,如[PART TIME WORKER]、[FREELANCER]、[PROJECT MANAGER]等等。那么对于一个特定的用户,如果我们想找到他工作的地方或公司,自由职业者,通过搜索关系类型来管理项目如何使用全文搜索来完成。

相关问题