我有一些记录,图案是(id,长度,宽度);
我想搜索像“长度在10,20)和宽度在(20,30";
如果使用关系数据库,则可以在长度和宽度上创建多列索引.
我需要在记忆中完成那份工作。我看到Boost多索引支持复合键;但我发现它似乎只支持equal_range搜索,比如"length == 20 and width ==20“。
boost多索引支持查询是否像10,20)和宽度(20,30 )?
看起来multimap<长度、multimap<宽度、id> >可以支持我的需求,但对于编码来说有点复杂。
发布于 2016-03-03 19:15:15
恐怕Boost.MultiIndex对此不好;考虑到每个索引(有或没有复合键)都会对元素产生线性顺序,而这里则需要二维排列。我建议看看Boost.几何学的R-树。
https://stackoverflow.com/questions/35778119
复制相似问题