开发者社区> 问答> 正文

有地理位置的数据库设计与功能实现

想做一个公开课的展示小应用,基本功能:显示 附近 正要进行的公开 课, 分类检索附近的公开课(比如人力资源、市场营销等)

数据库设计遇到问题

分类检索,数据库如何设计 

1)如果一个课程只有一个分类,直接建一个tag字段,where查询就行;如果是一个课程多个分类呢(难道把分类义字符串形式拼在 tag字段里,然后取出整张表的tag在进行字符串匹配?)

2)针对多个分类,考虑用lucene进行检索,分词的对象就是课程的分类。但是存在这样一个问题,由于公开课关闭之后就不再需要 检索,为了检索的实效性,每存在公开课关闭或是新建就要重建lucene数据库索引,是不是会消耗大量资源?

显示附近,如何实现 

1)通过百度LBS开发平台,把课程的位置信息放在百度LBS云上,通过百度引擎来检索附近

2)大家的类似功能是如何实现的呢

最后应用场景:我要检索成都(或附近)的人力资源管理正在报名的公开课

大家如何设计的呢

展开
收起
小旋风柴进 2016-03-11 09:19:43 3798 0
1 条回答
写回答
取消 提交回答
  • 1)一个课程对应多个分类是很基础的,给课程一个id,然后另外一表

    课程id 分类id

    即可一对多。

    2)lucene分词和分类两码事。检索课程分类直接用SQL。 公开课关闭用个字段表示,0和1两个值,就和分类字段分开了,不用管lucene。

    3)显示附近,数据库里用两个字段记录经度纬度,再获取当前经度纬度,自己算还是API随意。

    2019-07-17 18:58:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载