StackOverflow允许您按标签搜索帖子,并允许您按标签的交集进行过滤,例如ruby x mysql x标签.但通常使用标记上的多个连接从MySQL检索此类列表效率很低.什么是一种更高效的方法来实现逐个多个标记查询?
解决方法:
在Nosql或面向文档的场景中,您将实际标记作为文档的一部分,可能存储为列表.既然你用“couchdb”标记了这个问题,我将以此为例.
CouchDB中的“post”文档可能如下所示:
{
"_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.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。