我有这样的一个需求:
一个数据库表格:(有很多个主要字段,其中内容固定,每个字段的长度都很短, 记录数10W+ 可能更多)
1.省份 | 2. 市 | 3. 街 | 4. 经度 | 5. 纬度 | ………………
目标:1)可以实现:( 省市街 )三个条件的 单独 或者 组合 模糊查找如找 纬度:120~~130 以内 经度 80~~100以内 的记录 :如: 单查: “某某街” ( 符合要求的全部列出)
组合: "某" (市) "某" (街) 或者 "某" (省) "某" (街) ( 符合要求的全部列出)
2)经度和纬度是类似于 (123.48,46.54 )的双精度类型的数据
可以实现:通过给出一组 经纬度值,查出在其范围内的符合要求的记录 :
3)很短时间完成
以上需求都要把满足条件的 所有的字段 取出来,有可能以后要扩展!
您的回答1:需要这样的一些要求,是用Lucene好?还是数据库索引好?哪个速度快?
您的回答2:我们BOOS叫我用数据库索引,但是我不是DBA。才毕业,我用lucene做了个测试500W+的数据查找需要400毫秒左右!这样的速度是不是太慢了? 【2.5G的CPU,1G内存,XP】
您的回答3:我们BOOS昨天给我说,他的目标是:(10W+的模糊查找)【1毫秒】内出结果!我才毕业。觉得【1毫秒】太快了,真的可以吗?(我们用的是 mysql5 数据库)
请知道的前辈多说几句,我是一新人。在此先谢过了!
马上过年了,希望过个开心年啊!!谢谢大家了!
[b]问题补充:[/b]
说老实话。。我也觉得1毫秒绝对不可能。可惜。。。
[b]问题补充:[/b]
问题是 用lucene快点还是 数据库索引快啊??
今天又把我留下来学习。,。
叫我去弄。
我本来就是搞java的。喊我自己写 索引规则。。
我会个屁啊
[b]问题补充:[/b]
听说:
如果我想找上海酒店,价格在300~500之间。用Lucene处理,它会在内部形成类似这样的查询项:
地点:上海酒店
价格:300
地点:上海酒店
价格:301
…………
地点:上海酒店
价格:500
总共要生成200个这样的查询项,这是倒排索引的机制所限定的。这还算好,如果客户来个100~10000,Lucene就直接挂掉了。
以上是在一个讨论中看到的。。
请问是吗?
如果在我的应用的经纬度的查询中,经纬度是 double的
我想办法把他转成int 在给lucene 索引,那样不是要生成 n万 个这样的查询项?