Tôi đang làm việc trên Grails 1.3.2 với MySql. Tôi cần lưu trữ vĩ độ và kinh độ của một số vị trí nhất định trong cơ sở dữ liệu và sau đó trên cơ sở vị trí hiện tại của người dùng, tôi cần trả lại các mục nằm trong bán kính cụ thể của vị trí đó. Vì vậy, chúng tôi về cơ bản có các yêu cầu sau:Làm thế nào để thực hiện tìm kiếm không gian (Geo-Location) trong Grails?
- Tìm kiếm vị trí với trong một bán kính nhất định tọa độ hiện tại của người dùng
- Cung cấp một tìm kiếm văn bản đầy đủ. Chúng tôi hiện đang sử dụng khả năng tìm kiếm cho số điện thoại
- Thực hiện kết hợp tìm kiếm toàn văn bản trong một bán kính nhất định của các tọa độ hiện tại của người dùng.
Tôi đã xem xét các tùy chọn khác nhau mà chúng tôi có ở đây và muốn biết quan điểm/đề xuất của bạn để triển khai điều này là gì. Các tùy chọn khác nhau mà chúng ta có ở đây là:
Lucene không gian tìm kiếm (http://wiki.apache.org/lucene-java/SpatialSearch) và nhìn vào cách sử dụng nó với tìm kiếm
Grails Solr Plugin (http://www.grails.org/plugin/solr). Nhưng điều này không trả về các đối tượng miền.
Mũi khâu mũi khoan Plugin (http://www.grails.org/plugin/stitches). Không có nhiều tài liệu ngoại trừ trên trang của tác giả (http://www.philliprhodes.com/content/stitches-30-seconds).
Tiện ích mở rộng không gian MySql cùng với chỉ mục văn bản đầy đủ trên tất cả các trường của lớp miền. Nếu chúng ta đi tuyến đường này, thì chúng ta sẽ không sử dụng được.
- Postgres/PostGIS hội nhập với hibernate-không gian (http://blog.mollusca.ch/2008/10/4/grails-spatial-data-postgis)
Tôi tin rằng đây là một yêu cầu rất cơ bản trong bất kỳ ứng dụng tích hợp với bản đồ.
Vì vậy, tôi thực sự quan tâm đến việc biết cách thích hợp nhất để triển khai chức năng này.
Cảm ơn