假設我有一個像這樣的CouchDB文檔:可能從couchdb視圖中反轉索引?
{
"_id": "id",
"_rev": "rev",
"title": "foobar",
"URI": "http://www.foobar.com",
"notes": "",
"date": 1334177254774,
"tags": [
"tag1",
"tag2",
"tag3"
],
"date_modified": 1334177278457,
"deleted": false
}
我想是創建標籤的倒排索引,所以我最終的東西,如:
{
"tag1": [
_id,
_id,
_id
],
"tag2": [
_id,
_id,
...
]
}
從我已經閱讀並嘗試過,couchdb可能不會讓我這樣做。我無法在地圖階段完成它,似乎我不能在沙發縮小階段做到這一點。 這是我需要在應用的另一層完成的事情嗎?
你有什麼試過?對於映射階段來說,您會對代碼執行for循環,然後對每個代碼執行'emit(tag,_id)'。然後,在reduce中,您可以將鍵值對與相同的鍵組合在一起。我還沒有嘗試過。 – 2012-04-21 05:04:43
@MatthewFlaschen,因爲無法預測結果的大小,所以無法將縮減中的鍵值對組合在一起。減少功能,必須嚴格把輸入減小到一個小的,固定的最大尺寸。 – 2012-04-22 08:08:20