Ibm cloud Cloudant查询错误:尝试排序时缺少搜索索引
我遵循了IBM关于如何运行查询以检索所选文档,并根据字段值对这些文档进行排序的说明。这些说明从页面下方大约2/3处的“使用两个字段运行查询”开始 我遇到了一个无法解决的错误 未知错误:mango_idx::{没有可用的索引,缺少排序索引} 查询是:Ibm cloud Cloudant查询错误:尝试排序时缺少搜索索引,ibm-cloud,cloudant,mangodb,database,nosql,Ibm Cloud,Cloudant,Mangodb,Database,Nosql,我遵循了IBM关于如何运行查询以检索所选文档,并根据字段值对这些文档进行排序的说明。这些说明从页面下方大约2/3处的“使用两个字段运行查询”开始 我遇到了一个无法解决的错误 未知错误:mango_idx::{没有可用的索引,缺少排序索引} 查询是: { "selector": { "lastname": "Brown", "location": "New York City, NY" }, "fields": [ "firstname", "lastname", "locat
{
"selector": {
"lastname": "Brown",
"location": "New York City, NY"
},
"fields": [
"firstname",
"lastname",
"location"
],
"sort": [
{
"lastname": "asc"
},
{
"firstname": "asc"
}
]
}
我在设计文档中添加了一个查询索引,如下所示:
{
"index": {
"fields": [
"lastname",
"location",
"age"
]
},
"name": "query-index",
"type": "json"
}
这些文件本身是以下文件的变体:
{
"firstname": "John",
"lastname": "Brown",
"age": 21,
"location": "New York City, NY",
"_id": "doc2"
}
我做错什么了吗?Cloudant语法中是否发生了本教程未更新的更改
我知道哪些建议的答案对我没有帮助。这确实是该教程的一个问题。没有支持按lastname和firstname排序的索引。您可以创建另一个索引,如下所示:
{
"index": {
"fields": [
"lastname",
"firstname"
]
},
"type": "json"
}
{
"selector": {
"lastname": "Brown",
"location": "New York City, NY"
},
"fields": [
"firstname",
"lastname",
"location"
],
"sort": [
{
"lastname": "asc"
}
]
}
或者,您可以只按姓氏排序(去掉姓氏)。这将由原始索引支持。查询将如下所示:
{
"index": {
"fields": [
"lastname",
"firstname"
]
},
"type": "json"
}
{
"selector": {
"lastname": "Brown",
"location": "New York City, NY"
},
"fields": [
"firstname",
"lastname",
"location"
],
"sort": [
{
"lastname": "asc"
}
]
}
可能的重复我已经查看了那里的建议答案,这些答案对我没有帮助,我已经按照您的(IBM)教程了解了导致此问题的原因。我还在文档的github存储库中报告了这个问题:@Joeri教程将被更正。你应该很快就能在这里得到正式答复。非常感谢@markwatsonatx!我将用您的解决方案更新关于教程的github问题。