如何根据neo4j全文搜索中搜索匹配的百分比返回节点?
我使用neo4j自动索引作为全文索引。我有一个具有属性“fullName”的用户节点,现在我想在用户节点上执行搜索。 e、 g假设我有4个全名如下的用户:Abc Jay、Jay Singh、Ajay Kumar、John Doe。所以我想当用户搜索jay时,结果应该是这样的:如何根据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
- 杰伊·辛格
- 阿杰·库马尔
- 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后面加上右括号“)”。如果搜索关键字包含多个单词,会发生什么情况。