首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >统计Redis中匹配的属性数量

统计Redis中匹配的属性数量
EN

Stack Overflow用户
提问于 2011-12-18 22:38:20
回答 1查看 771关注 0票数 4

我想看看将数据集从PostgreSQL迁移到Redis是否会对特定的搜索查询产生积极影响。不幸的是,我真的不知道如何组织键和值。

我想要的是,用户能够提供一个属性列表,并且应用程序以尚未输入的属性的升序提供一个项目列表。

例如:

代码语言:javascript
复制
Item #1 { prop1, prop2, prop4, prop7 }     Query: "prop1 prop3 prop4 prop5"
Item #2 { prop7, prop8 }                   Result: Item #3
Item #3 { prop2, prop3, prop5 }                    Item #1
                                                   Item #2

到目前为止,我想出的是:

代码语言:javascript
复制
#!/usr/bin/python
properties = (1, 3, 4, 5)
items = ["Properties:%s:items" % id for property in properties ]
redis.zunionstore("query:related_items", items)
redis.zinterstore("query:result", { "Items:all": 1, "query:related_items": -1 })

这将构建一个与用户输入的Item相连接的排序的Property集(分数均为1)。然后,计算与所有Items的排序集的交集(其中每个值的分数是Property的数量)。如果在查询中提供了Item的所有Property,则将权重设置为创建分数0。

由于Item的数量约为600.000个条目,因此该查询大约需要4-6秒。有没有更好的方法来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2012-01-12 04:31:59

我想您正在寻找一种Python解决方案,但我最喜欢的是基于Ohm的数据库类比。考虑到Python和Ruby以及Ohm的exceptional documentation之间的相似性,您可能会找到一些灵感。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8552412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档