作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否有机会对包含德语变音符号(如 ä、ö、ü)的密码查询结果进行排序?目前,我得到一个按字母顺序排序的列表,并且以元音变音开头的节点被放置在列表的末尾。通常它们应该在列表中,例如“Ö”应等于“OE”。
任何想法都值得赞赏,谢谢。
最佳答案
由于您具体询问了 Cypher,下面的查询是一个示例,说明如何对变音字符进行排序,就好像它们是其连字等效项一样(例如,将“Ü”视为“UE”)。
WITH ['Dorfer', 'Dörfener'] AS names
UNWIND names AS name
RETURN name
ORDER BY
REDUCE(s = name, x IN [
['ä', 'ae'], ['Ä', 'AE'],
['ö', 'oe'], ['Ö', 'OE'],
['ü', 'ue'], ['Ü', 'UE']] |
REPLACE(s, x[0], x[1]));
上述查询将首先返回“Dörfener”,然后返回“Dorfer”。
但是,上述方法效率不高,因为它为每个 name
调用了 REPLACE
函数六次。写一个 user-defined procedure 会更有效率。在 Java 中,将整个 names
列表作为输入,并在一次调用中返回排序后的列表。
关于neo4j - 使用德语元音变音对查询结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45345614/
我是一名优秀的程序员,十分优秀!