2010-03-01 32 views

回答

2

在NoSQL或面向文档的情况下,您会将实际标记作为文档的一部分存储为列表。既然你用“couchdb”标记了这个问题,我将以此为例。

一个CouchDB中 “后” 文件可能看起来像:

{ 
    "_id": <generated>, 
    "question": "Question?", 
    "answers": [... list of answers ...], 
    "tags": ["mysql", "tagging", "joins", "nosql", "couchdb"] 
} 

然后,生成由标签键入一个观点:

{ 
    "_id": "_design/tags", 
    "language": "javascript", 
    "views": { 
     "all": { 
     "map": "function(doc) { 
      emit(doc.tags, null); 
     }" 
     } 
    } 
} 

在CouchDB中,你可以发出多一个HTTP POST键,如果你愿意。一个例子是the documentation。使用该技术,您将能够通过多个标签进行搜索。

注意:将上面的值设置为null有助于减小视图。如果你想查看实际的文档,也可以在查询中使用include_docs=true

相关问题