Мне нужно сделать запрос к моей БД на основе диапазона двух значений, которые по сути являются двумя столбцами типа float в моей базе данных.
После некоторых исследований я сузил свои варианты реализации этого с помощью алгоритмаиспользуя:
- 2D Поиск по ортогональному диапазону
- древовидная структура kd
Теперь я исключил 1-й вариант, потому что мои данные кластеризованы и, следовательно, он выиграл 'быть полезным.
Так что мне нужно использовать древовидную структуру kd.Но как?Я никогда этого не делал и не знаю с чего начать.У меня есть метод в одном из моих контроллеров, который настроен как заглушка для получения результата этого поиска, но сам поиск не реализован.
Я пытаюсь получить систематические шаги, связанные с созданием этой функциональности.До сих пор это то, что я думал, что мне нужно будет сделать, но не имею понятия, если это правильный путь.
Дерево KD должно быть построено в памяти из данных вБД.(Но не уверен, когда это должно быть сделано - либо при запуске rails, либо при поступлении запроса?)
Когда происходит обновление данных, отредактируйте дерево и сохраните вседерево в базу данных
Есть ли способ сохранить структуру данных дерева kd в самой БД, не создавая ее явно?
Кроме того, я погуглил, но мне интересно, есть ли у кого-нибудь ресурсы, которые он мог бы порекомендовать для этого?