有地理位置的数据库设计与功能实现-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

小旋风柴进 2016-03-11 09:19:43 1409

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

数据库设计遇到问题

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

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

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

显示附近,如何实现 

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

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

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

大家如何设计的呢

自然语言处理 定位技术 数据库 索引
分享到
取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:58:20

    1)一个课程对应多个分类是很基础的,给课程一个id,然后另外一表

    课程id 分类id

    即可一对多。

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

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

    0 0
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题