我需要组合一个能够有效提供关键字搜索功能的数据结构。
我的指标是:
- 大约 500,000 种产品。
- 每个产品大约有 20 多个关键字(猜测)。
- 产品由大约 10 位数字的 ID 标识,但以后可能是任何 ASCII 代码。
如果可能的话,我想尝试将数据结构放入内存中。我将在服务器上,因此我可以假设一些重要的内存可用性。
速度很重要。使用LIKE
数据库查询将不是一个可接受的解决方案。
关于数据结构的任何想法?
我的想法:
特里地图
关键字非常有效,但需要有一个产品 ID 列表挂在任何叶子上,如此严重的内存消耗。有什么想法可以帮助解决这个问题吗?
压缩
各种压缩方案浮现在脑海中,但没有一个具有重要价值。
有没有人把这样的东西放在一起?你能分享你的经验吗?
数据可能会更改,但不会经常更改。每天重建结构以适应变化是合理的。