我正在使用MySql的Grails 1.3.2。我需要将某些位置的经度和纬度存储在数据库中,然后根据用户的当前位置,我需要返回位于该位置特定半径范围内的项目。 所以,我们基本上有以下要求:如何在Grails中实现空间(地理位置)搜索?
- 搜索与-用户的当前坐标的给定半径
- 提供全文检索的地方。我们正在使用此搜索功能
- 在用户当前坐标的给定半径范围内执行全文搜索的组合。
我一直在寻找我们在这里的各种选项,并希望知道您的意见/建议,以实现这一点。我们在这里的各种选项有:
Lucene的空间搜索(http://wiki.apache.org/lucene-java/SpatialSearch),并研究如何与搜索
Grails的Solr的插件(http://www.grails.org/plugin/solr)使用它。但是这不会返回域对象。 (http://www.grails.org/plugin/stitches)。除作者网站(http://www.philliprhodes.com/content/stitches-30-seconds)外,没有太多文档。
MySql空间扩展以及域类的所有字段上的全文索引。如果我们走这条路线,那么我们将不会使用可搜索的。
- 的Postgres /使用Hibernate空间(http://blog.mollusca.ch/2008/10/4/grails-spatial-data-postgis)PostGIS的整合
我认为,这是在与地图集成任何应用程序中很基本的要求。
所以,我真的很想知道实现这个功能的最合适的方式。
感谢