如何根据neo4j全文搜索中搜索匹配的百分比返回节点?

如何根据neo4j全文搜索中搜索匹配的百分比返回节点?,neo4j,full-text-search,cypher,Neo4j,Full Text Search,Cypher,我使用neo4j自动索引作为全文索引。我有一个具有属性“fullName”的用户节点,现在我想在用户节点上执行搜索。 e、 g假设我有4个全名如下的用户:Abc Jay、Jay Singh、Ajay Kumar、John Doe。所以我想当用户搜索jay时,结果应该是这样的: 杰伊·辛格 阿杰·库马尔 Abc杰伊 我写了这个查询: START u=node:node_auto_index("fullName:*jay*") MATCH (u:User) return distinct {f

我使用neo4j自动索引作为全文索引。我有一个具有属性“fullName”的用户节点,现在我想在用户节点上执行搜索。 e、 g假设我有4个全名如下的用户:Abc Jay、Jay Singh、Ajay Kumar、John Doe。所以我想当用户搜索jay时,结果应该是这样的:

  • 杰伊·辛格
  • 阿杰·库马尔
  • Abc杰伊
我写了这个查询:

START u=node:node_auto_index("fullName:*jay*") MATCH (u:User) 
return distinct {firstName : u.firstName , lastName : u.lastName, fullName : u.fullName, profilePicture : u.profilePicture, id : u.id} as user

这个查询给我的结果是相同的用户,但随机顺序不是我想要的顺序。谁能帮我实现这个目标

所以快速找到位置的方法是使用split

START u=node:node_auto_index("fullName:*jay*") 
MATCH (u:User) 
WITH distinct u
RETURN {firstName : u.firstName , lastName : u.lastName, fullName : u.fullName, profilePicture : u.profilePicture, id : u.id} as user
ORDER BY length(split(toLower(u.fullName,"jay")[0]);

非常感谢,它解决了我的问题。只是一个愚蠢的错误,你需要在u.fullName后面加上右括号“)”。如果搜索关键字包含多个单词,会发生什么情况。