Как реализовать nearby search?

Middle
156 просмотров
AFK Offer AI

Для PostgreSQL + PostGIS: SELECT * FROM places WHERE ST_DWithin(location, ST_MakePoint(lon, lat)::geography, radius_meters) с GiST-индексом. Для Redis: GEOADD + GEOSEARCH. Для in-memory: geohash + поиск в соседних ячейках. Оптимизация: сначала грубый фильтр по bounding box (дешёвый), потом точный расчёт расстояния. Не забудь ORDER BY расстояние + LIMIT для пагинации. В Go можно кэшировать результаты для популярных точек.

Следующий вопрос

Как работает constraints пакет?