1

我需要组合一个能够有效提供关键字搜索功能的数据结构。

我的指标是:

  1. 大约 500,000 种产品。
  2. 每个产品大约有 20 多个关键字(猜测)。
  3. 产品由大约 10 位数字的 ID 标识,但以后可能是任何 ASCII 代码。

如果可能的话,我想尝试将数据结构放入内存中。我将在服务器上,因此我可以假设一些重要的内存可用性。

速度很重要。使用LIKE数据库查询将不是一个可接受的解决方案。

关于数据结构的任何想法?

我的想法:

特里地图

关键字非常有效,但需要有一个产品 ID 列表挂在任何叶子上,如此严重的内存消耗。有什么想法可以帮助解决这个问题吗?

压缩

各种压缩方案浮现在脑海中,但没有一个具有重要价值。

有没有人把这样的东西放在一起?你能分享你的经验吗?

数据可能会更改,但不会经常更改。每天重建结构以适应变化是合理的。

4

1 回答 1

2

您是否考虑过在内存中或文件系统索引中使用lucene ?

它非常快,并且为将来可能出现的进一步要求提供了很大的空间。

于 2012-04-07T00:18:04.747 回答