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