首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >快速内存倒排索引

快速内存倒排索引
EN

Stack Overflow用户
提问于 2011-07-07 10:37:37
回答 4查看 3.2K关注 0票数 6

我正在寻找一个通用倒排索引的快速内存实现。我所需要的就是为几百万个实体存储具有权重的特征,并使用倒排索引通过各种距离函数来计算实体之间的相似度。

我可以将实体的所有其他属性存储在某个快速键值存储中。

我希望我可以使用Lucene作为倒排索引,但无法看到如何将我自己的自定义特征向量与预先计算的权重相关联。任何建议都将不胜感激!

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2012-05-25 00:13:30

我一直在做一些类似的工作,并发现redis的zset几乎就是我所需要的(尽管我现在实际上并没有使用它;我已经推出了自己的基于内存映射文件的解决方案)。

基本上,zset是一组有序的键-值对。

因此,您可以为每个功能设置一个排序集,其中每个功能

功能-> {docid,score },{ docid,score } ..

zadd功能分数docid

然后redis有一些很好的操作符来合并,提取范围等。参见zunionstore,zrange (http://redis.io/commands/zunionstore)。

速度非常快(假设)并且全部在内存中等等。(尽管redis不是嵌入式数据库)。

票数 5
EN

Stack Overflow用户

发布于 2011-07-31 06:51:41

你看过Terrier吗?我不太确定它是否有内存中的索引,但它在索引和评分方面比Lucene更具可扩展性。

票数 1
EN

Stack Overflow用户

发布于 2011-09-18 00:01:48

Lucene允许您存储几乎所有与文档相关的数据。它还有一个称为“有效负载”的特性,允许您在与文档中的术语相关联的索引中存储任意数据。所以我认为你想要的是在索引中存储你的“特征”作为术语,而权重作为有效负载,你应该能够让Lucene做你想做的事情。它确实有一个内存索引实现。

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

https://stackoverflow.com/questions/6605239

复制
相关文章

相似问题

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