作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在寻找通用倒排索引的快速内存实现。我所需要的只是存储几百万个实体的权重特征,并使用倒排索引使用各种距离函数计算实体之间的相似性。
我可以将实体的所有其他属性存储在一些快速键值存储中。
我希望可以将 Lucene 用作倒排索引,但不知道如何将我自己的自定义特征向量与预先计算的权重关联到文档。任何建议将不胜感激!
谢谢。
最佳答案
我一直在做一些类似的工作,并且发现 redis 的 zset 几乎是我所需要的(尽管我现在实际上并没有使用它;我已经基于内存映射文件推出了自己的解决方案)。
基本上,zset 是一组已排序的键值对。
因此,您可以为每个功能设置一个排序集,其中每个
特征->[ { docid, 分数 }, {docid, 分数} ..]
即
zadd 特征评分 docid
然后,redis 有一些很好的运算符来合并、提取范围等。请参阅 zunionstore、zrange (http://redis.io/commands/zunionstore)。
非常快(据说)并且全部在内存中等等......(尽管redis不是嵌入式数据库)。
关于indexing - 快速内存倒排索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6605239/
我是一名优秀的程序员,十分优秀!