0

我正在使用PouchDB(带有Cloudant远程数据库)在字典 Web 应用程序中拥有一个本地数据库。

我需要一个带有自定义普什图字母顺序的索引(使用阿拉伯语 unicode 字母)。

由于普什图语字母表中的不规则 Unicode 字符,使用(按字母顺序搜索部分单词)的localdb.find查询效果$gte不佳。

是否可以为索引创建基于普什图字母的自定义排序?

Mango 查询语言

4

1 回答 1

0

此参考文献中提到:

视图结果最重要的特征是它是按键排序的。

假设您有一个由文档组成的数据库,unicodeString每个文档中都有一个字段。因此,示例文档如下所示:

{
    "_id":"2018-01-30-18-04-11",
    "_rev":"AE19EBC7654",

    "title":"Hello elephant",
    "unicodeString":"שלום פיל",
}

现在你可以拥有一个带有 map 函数的 CouchDB 视图,如下所示:

function(doc) {
    emit(doc.unicodeString, doc.title); // doc.unicodeString is key
                                        // doc.title         is value
}

上面的视图将数据库中的所有文档根据其key排序doc.unicodeString。因此,如果您使用上述视图,您的所有文档都将根据您在文档中的 Unicode 字符串进行排序。


如果您在数据库中有 3 个文档,当您查询上述视图时,您会收到这样的响应结果,其中rows数组根据keyeach进行排序row

{
    "total_rows": 3,
    "offset": 0,
    "rows": [
        {
            "key": "ארץ",
            "id": "2017-09-01-09-05-11",
            "value": "Earth"
        },

        {
            "key": "בין",
            "id": "2015-01-19-11-30-28",
            "value": "between"
        },

        {
            "key": "שלום פיל",
            "id": "2018-01-30-18-04-11",
            "value": "Hello elephant"
        }

    ]
}
于 2018-03-27T14:50:19.083 回答