Cloudant查询错误:尝试排序时缺少搜索索引

时间:2017-09-02 16:04:43

标签: ibm-cloud cloudant mangodb database nosql

我跟随IBM的Cloudant tutorial,了解如何运行查询以检索选定的文档,并根据字段的值对这些文档进行排序。这些说明大约在页面的第2/3位开始,在#34;运行带有两个字段的查询"。

我收到的错误无法找到解决方案。

  

未知错误:mango_idx :: {no_usable_index,missing_sort_index}

查询是:

{
"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语法中的某些内容是否发生了变化,导致教程没有更新?

我知道"Unknown Error: mango_idx :: {no_usable_index,missing_sort_index}"}建议的答案对我没有帮助。

1 个答案:

答案 0 :(得分:1)

看起来这是教程的一个问题。没有索引支持按姓氏和名字排序。您可以创建另一个索引:

Amount

或者,您只能按姓氏排序(取出名字)。这将由原始索引支持。查询将如下所示:

{
  "index": {
    "fields": [
      "lastname",
      "firstname"
    ]
  },
  "type": "json"
}