在couchdb上创建筛选索引

在couchdb上创建筛选索引,couchdb,couchdb-futon,couchdb-2.0,Couchdb,Couchdb Futon,Couchdb 2.0,我一直试图按照创建一个过滤索引,但失败惨重(在本节底部有一个“使用所有可用查询参数创建索引”的示例) 基本上,我有一堆文档,它们具有不同的class属性(就像文档类型一样)。我正在尝试仅为具有class=“File”和extension=“pdf” 然而,当我试图从Futon创建索引时,我得到了该请求的无效键选择器错误。我对文档的解释是错误的还是遗漏了什么?我看不到任何内容表明可以在索引中使用选择器。文档建议您创建索引的“帖子”可以包含以下查询参数:索引、ddoc、名称和类型。index参数应该

我一直试图按照创建一个过滤索引,但失败惨重(在本节底部有一个“使用所有可用查询参数创建索引”的示例)

基本上,我有一堆文档,它们具有不同的
class
属性(就像文档类型一样)。我正在尝试仅为具有
class=“File”
extension=“pdf”

然而,当我试图从Futon创建索引时,我得到了该请求的无效键选择器错误。我对文档的解释是错误的还是遗漏了什么?

我看不到任何内容表明可以在索引中使用选择器。文档建议您创建索引的“帖子”可以包含以下查询参数:索引、ddoc、名称和类型。index参数应该只有一个字段名数组(以及可选的排序顺序)

我还没有尝试过这个方法(目前我有一个较旧版本的CouchDb),但是在再次尝试创建索引之前,我会删除除此之外的任何其他参数

我想知道你提到的例子是不是文档中的一个bug?我不确定它是否真的属于关于索引创建的部分。

我看不到任何说明可以在索引中使用选择器的内容。文档建议您创建索引的“帖子”可以包含以下查询参数:索引、ddoc、名称和类型。index参数应该只有一个字段名数组(以及可选的排序顺序)

我还没有尝试过这个方法(目前我有一个较旧版本的CouchDb),但是在再次尝试创建索引之前,我会删除除此之外的任何其他参数


我想知道你提到的例子是不是文档中的一个bug?我不确定它是否真的属于索引创建部分。

它说“索引是(json)–描述要创建的索引的json对象”,它可以是任意描述对象。此外,如果您向下滚动到显示“使用所有可用查询参数创建索引示例”的部分,您将看到一个扩展索引定义,其中包括一个
选择器
。我错了吗?我不确定,但您收到的错误消息表明问题出在“选择器”键上。使用map/reduce可以创建所需的索引。它有点冗长,但对于创建高级索引来说可能更简单。你只需要一个函数,它根据你喜欢的标准“发出”你想要的索引项(键和值对)。我说的是索引onlyPerhaps我们说的是交叉用途,但是您可以通过在设计文档的视图对象中放置map函数,在CouchDb中创建索引。这里有一些关于这方面的文档:你是说公共设计文档可以用来为Mango查询创建索引吗?它说“索引是(json)–描述要创建的索引的json对象”,它可以是任意描述对象。此外,如果您向下滚动到显示“使用所有可用查询参数创建索引示例”的部分,您将看到一个扩展索引定义,其中包括一个
选择器
。我错了吗?我不确定,但您收到的错误消息表明问题出在“选择器”键上。使用map/reduce可以创建所需的索引。它有点冗长,但对于创建高级索引来说可能更简单。你只需要一个函数,它根据你喜欢的标准“发出”你想要的索引项(键和值对)。我说的是索引onlyPerhaps我们说的是交叉用途,但是您可以通过在设计文档的视图对象中放置map函数,在CouchDb中创建索引。这里有一些关于这方面的文档:您是说可以使用公共设计文档为Mango查询创建索引吗?
{
  "index": {
    "fields": [
      "_id", "class", "extension"
    ],
    "selector": {
      "class": {
        "$eq": "File"
      },
      "extension": {
        "$eq": "pdf"
      }
    }
  },
  "type": "json"
}