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