我在内存中有几个中型数据集,我需要能够快速过滤和查找信息。数据集足够小,我不想在每次需要条目时都访问数据库,但又足够大,以至于我真的需要以某种方式索引数据。
目前,我正在使用带有一个或多个字典的 POCO 对象进行索引。当我需要通过特定键查找某些内容时,这非常有用,但有时情况并非如此。例如,我经常需要在特定日期时间范围内查找条目。有时我需要最低价格的条目。大多数情况下,查询会同时查看几个简单的键和一两个其他字段。
是否有任何工具、产品、库(针对 .NET 框架)可以帮助我解决这个问题?还是我需要拿起那本尘土飞扬的旧算法书并开始查看搜索树?
一个例子:
旅行
- 出发代码
- 目的地代码
- 酒店代码
- 房号
- 日期
- 价格
我需要查询类似于“让我在 2010 年 3 月 9 日到 2010 年 3 月 12 日之间进行最便宜的旅行,其中 DepartureCode=LAX DestinationCode=NYC”