我有一个与变音符号有关的问题。为了简单起见,让我们假设,我有一个文档集合“c”。我把两个文档:
{"uri": "/c/de/aërotropismus/"}, {"uri": "/c/de/aerotropismus/"}
如您所见,它们几乎是相同的,除了发音符号。
然后,我在字段“uri”上创建一个持久索引。
在这之后我做查询:
for doc in c
filter doc.uri >= "/c/de/aerotropismus/" and doc.uri < "/c/de/aerotropismus0"
return doc
我希望此查询返回一个结果,但得到两个结果:
[
{
"_key": "37070873",
"_id": "c/37070873",
"_rev": "_bHsOMnm---",
"uri": "/c/de/aerotropismus/"
},
{
"_key": "37070853",
"_id": "c/37070853",
"_rev": "_bHsO_m6---",
"uri": "/c/de/aërotropismus/"
}
]
为什么会这样呢?如何修复它,使它只返回一个结果:
[
{
"_key": "37070873",
"_id": "c/37070873",
"_rev": "_bHsOMnm---",
"uri": "/c/de/aerotropismus/"
}
]
1条答案
按热度按时间s4chpxco1#
这确实像是一个bug:
结果:
解决方法
您可以在ArangoDB中创建一个用户定义的函数来对字符串数组进行排序。
更多阅读:
解决方法实施
您可以在
aragosh
中执行以下代码来注册自定义函数:您可以稍后按以下方式运行AQL:
它将只返回您提供的数据集的一条记录。