У меня есть семейство столбцов со следующими характеристиками:
CREATE COLUMNFAMILY places (
name text,
category text,
latitude double,
longitude double,
PRIMARY KEY (name, category));
Что мне нужно, так это искать места и порядок по формуле расстояния на основе широты и долготы, то есть я предоставлю набор широты и долготы и получу результаты, отсортированные по кратчайшему расстоянию от этих точек. Это запрос, который я хочу выполнить:
SELECT name, distance(latitude, longitude, 37.8074907, -122.4074504) as distance FROM places ORDER BY distance;
Я написал UDF с именем расстояние, которое может вычислить расстояние между двумя наборами широт и долгот. Теперь я знаю, что Кассандра не разрешает порядок по некластерному ключу, но я никак не могу сохранить все расстояния и затем кластеризовать их.
Я новичок в Cassandra, поэтому, если есть какой-то способ изменить дизайн таблицы или сделать что-то с CQL, я открыт для этого.