如何创建一个巨大的倒排索引

时间:2009-10-15 08:58:27

标签: database information-retrieval inverted-index

我想创建一个大约10 6 项的大反向索引。你会建议什么方法?我正在考虑快速二进制密钥库DB,如东京橱柜,伏地魔等。编辑:我过去曾尝试使用MySQL来存储两个整数的表来表示倒排索引,但是如果第一列具有db索引,则查询非常慢。我认为对于那些情况,SQL数据库有太多的开销,事务开销,查询解析等。我正在寻找哪些技术或算法方法可以扩展,同时具有良好的响应时间和性能。我正在为研究目的推出自己的解决方案。

3 个答案:

答案 0 :(得分:3)

问题有点模糊,所以我认为我能给出的唯一答案是:在PostgreSQL中使用“广义倒排索引”(GIN index)来创建你想要的任何类型的倒排索引。所有艰苦的工作都是为您完成的:它使用预写日志来确保崩溃,内部使用btree结构来提高性能,它是成熟数据库管理系统的一部分。

如果您的问题是全文搜索,那么postgresql的full-text search已经为您构建,可以在内部使用GIN。

答案 1 :(得分:0)

非常酷,你正试图自己动手。对Lucene的倒排索引文件格式进行Perhapstudy研究? http://lucene.apache.org/java/3_1_0/fileformats.html

答案 2 :(得分:0)

是的,肯定会考虑将Lucene作为索引,因为它现在基本上是卓越的索引器。事实上,我正在考虑将其用于索引我的图像数据库。 “默认”语言是Java,但它已被移植到其他语言,例如CLucene用于C ++,PyLucene用于python。

可以找到一个快速教程here

相关问题