Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK
2010-08-11 00:00:00 来源:WEB开发网核心提示: 如果对此深信不疑,运行清单 8 中的查询会产生一个令人惊讶的结果,Java 开发 2.0: 使用 Amazon SimpleDB 进行云存储,第 1 部分:开始使用 SimpleDB 和 Amazon SDK(7),我们知道,搜索是按字母顺序执行的,因此,在图 2 中,不过这总的来说很有意义 &
如果对此深信不疑,运行清单 8 中的查询会产生一个令人惊讶的结果。我们知道,搜索是按字母顺序执行的,不过这总的来说很有意义 —即使您在寻找较短的比赛,(虚构的)Leesburg Ultra Marathon 也不会在您的范围之内!
字典式搜索
在查找编号数据(包括日期)时,字典式搜索会产生问题,但是还有弥补的余地。解决按距离搜索的一种方式是填充距离属性使用的编号。
我目前最长的比赛是 103.6 公里(尽管我个人从没有跑过甚至与此接近的距离),按字母顺序读取小数点前面的三个数字。因此,我要用前导零填充其余比赛,为所有比赛赋相同数量的字符。这样做会使我的基于距离的搜索起作用。
图 1 是 SDB Tool 的一个屏幕截图,该工具是一个 Firefox 插件,用于可视地查询和更新 SimpleDB 数据库域:
图 1. 填充距离值
查看原图(大图)
如您所见,我对 Race_01和 Race_02的距离值都添加了一个零。对于未培训过的人来说,这可能不是很有意义,但是它将大大简化搜索。因此,在图 2 中,您可以看到我对距离小于 020.0(或仅仅等于 20 公里) 公里的比赛执行了搜索,并看一下最终 —且正确的 —结果:
图 2. 填充式搜索解决了问题
更多精彩
赞助商链接