【问题标题】:CouchDB for Fixed Categories Queries用于固定类别查询的 CouchDB
【发布时间】:2011-07-14 08:30:23
【问题描述】:

我的 CouchDB 中有这样的文档:

{
  "_id": "0cb35be3cc73d6859c303fa3200011d2",
  "_rev": "1-f6e356bbf6ab09290aae11132af50d66",
  "adresse": "Bohrgaß 10 /",
  "plz": 56814,
  "ort": "Faid /",
  "kw": 2.32,
  "traeger": "SOL"
  ...
}

某些属性有预定义的类别,例如traeger:“SOL”、“BIO”、“WAS”;千瓦:

我必须能够有效地查询每个类别的文档总数,并且 特定条件下的文档总数和文档本身。例如。

  1. 在条件 traeger = "SOL" 下,类别 kw
  2. 在 plz=56814 AND kw

用户可以选择他喜欢组合的类别。类别是固定的。也会有更多的属性和类别。

map/reduce 函数会是什么样子?

马塞尔

【问题讨论】:

    标签: couchdb mapreduce


    【解决方案1】:

    由于您要对文档进行计数,因此您的 reduce 函数就是 built-in count。您的 map 函数需要发出用户将要搜索的适当键。最后,当查询视图时,必须选择适当的组级别。

    示例:您可以使用复合键 ["traeger", "kw"] 创建视图。如果您使用 group_level = 2 查询该视图,您将获得 traeger 和 kw 的每个组合的文档数。

    如果只关心traeger“SOL”,可以用start_key和end_key参数限制输出。

    如果您想知道每个“traeger”类别中的文档数量(无论它们的“kw”如何),您可以使用 group_level 1 查询该视图。

    对于第二个示例,您可以使用键 ["plz","kw","traeger"] 创建一个视图,并使用 start_key 和 end_key 将结果限制为 plz=56814 AND kw

    此处列出了视图的查询选项:

    http://wiki.apache.org/couchdb/HTTP_view_API#Querying_Options

    【讨论】:

    • 非常感谢。还没有弄清楚 group_level 参数。关键是我有比上面显示的更多的类别(或属性),我不知道选择了哪些。所以我的观点会变得很大,例如具有 10 个属性的键。
    猜你喜欢
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    相关资源
    最近更新 更多