Neo4j - 搜索非英语字符查询

时间:2015-11-26 08:41:42

标签: neo4j

在neo4j中是否有一个选项可以用where子句编写一个select查询,忽略非拉丁字符?

MATCH (places:Place)
WHERE (places.name =~ '.*(?ui)Fabergé.*')
RETURN places

我在图表中放置了Fabergé名称,我想在没有这个特殊字符的用户输入Fabergé或Faberge时找到它。

1 个答案:

答案 0 :(得分:1)

我不知道在Cypher中使用正则表达式匹配直接执行此操作的简单方法。

一种可能的解决方法是将所讨论的字符串以规范化的形式存储在第二个属性中,例如place.name_normalized然后将其与规范化搜索字符串进行比较。当然,需要在客户端进行规范化,请参阅另一个关于如何实现此问题的SO问题:Remove diacritical marks (ń ǹ ň ñ ṅ ņ ṇ ṋ ṉ ̈ ɲ ƞ ᶇ ɳ ȵ) from Unicode chars