日期:2014-05-19  浏览次数:20764 次

lucene和mysql数据库索引的问题
我有这样的一个需求:


一个数据库表格:(5个主要字段,其中内容固定(记录数是肯定 100W+ 可能更多))


1.省份 | 2. 市 | 3. 街 | 4. 经度 | 5. 纬度


目标:1)可以实现:( 省市街 )三个条件的 单独 或者 组合 模糊查找 :如: 单查: “某某街” ( 符合要求的全部列出)

  组合: "某" (市) "某" (街) 或者 "某" (省) "某" (街) ( 符合要求的全部列出)


  2)经度和纬度是类似于 (123.48,46.54 )的双精度类型的数据

  可以实现:通过给出一组 经纬度值,查出在其范围内的符合要求的记录 :如找 纬度:120~~130 以内 经度 80~~100以内 的记录


  3)很短时间完成


需要这样的一些要求,是用Lucene好(功能能否实现?)?


  还是数据库索引好?

(如果是数据库好,我用的是 mysql5 数据库! 在数据库方面我只会用一般的查询语句,要让mysql索引,听说是不是还必须写自己的 中文分词 ?

  myqsl5 不支持中文索引的?)


您的回答:
【1】需要这样的一些要求,需要这样的一些要求,是用Lucene好(功能能否实现?)? 还是数据库索引好?
【 1.1】(如果是数据库好,我用的是 mysql5 数据库! 在数据库方面我只会用一般的查询语句,要让mysql索引,听说是不是还必须写自己的 中文分词 ?myqsl5 不支持中文索引的?)
【2】用lucene的话 第1个和第2个需求能否实现?
  请知道的前辈多说几句,我系一新人。在此先谢过了!

------解决方案--------------------
数据库的索引是结构化索引,lucene是全文索引,效率更好,做OSEM还是用compass或者hibernate search比较好~
1,2需求都能实现,你如果上过verycd.com的话,它的搜索就是lucene,也包括高级搜索!