日期:2014-05-17  浏览次数:20845 次

有一百万条长度为17的数字字符串,如何快速的查找到是否有某条数字串?
有一百万条长度为17的数字字符串,如何快速的查找到是否有某条数字串?期望查找时间越短越好!

有没有用过lucene的啊,使用这个能否做出来呀?

------解决方案--------------------
原理:
一级索引:
1. 取得一个字符串(像字词里这个字符串是一个单词,有一个很长的解释)和他在文件中的位置构成一个key/value对X
2. 把X按key顺序排序并存储到文件里
3. 把X加载到内在里,然后进行二分查找

二级索引:
对一级索引再按上面的原理做生成一个索引:不是对每一个词了,例如按26个字母来或者头2个,头3个字母来做索引。
这里的搜索是返回的是搜索包含这个索引的最小范围的一级索引里的索引数据
然后再对上面加载进来的数据进行二分查找。