Самый лучший GEODIST() к западу от Рио-Гранде / Андрей Аксенов (Авито, Sphinx)
Приглашаем на конференцию HighLoad 2024, которая пройдет 2 и 3 декабря в Москве!
Программа, подробности и билеты по ссылке:
--------
HighLoad Siberia 2019
Тезисы и презентация:
Внутри движка Sphinx есть умеренно нетривиальная реализация функции GEODIST(). Внутри скомбинированы пара-тройка разных математических формул, чтобы обеспечить достаточную точность для всех возможных случаев разных расстояний между точками, плюс пара-тройка разных полустандартных оптимизационных трюков поверх этого, чтобы обеспечить еще и достаточную скорость.
Кажется, что небезынтересно разобрать детали этой реализации и продемонстрировать процесс её конструирования и оптимизации. Как дошли до жизни такой, какими именно шагами, как пригодилась (в кои веки) математика с первого курса, какие оптимизационные трюки снова, как и в 1959 году, неизменно сработали.
Нашли ошибку в видео? Пишите нам на support@