Реализация хорошего автозаполнения? - PullRequest
0 голосов
/ 13 августа 2011

Я использую приложение Rails 3, где у меня есть окно автозаполнения jQuery, которое возвращает результаты на основе автозаполнения Google Адресов. Теперь я также хочу, чтобы он возвращал результаты из мест, присутствующих в моей локальной базе данных, на основе введенной строки.

Я настроил все, что мне нужно, чтобы иметь возможность возвращать места, которые я хочу, из моего местного БД. В настоящее время он возвращает КАЖДОЕ место в моей локальной БД, но мне нужно реализовать алгоритм для сопоставления введенной строки с местоположениями. Теперь мой вопрос: есть ли хороший стандартный алгоритм, который я могу использовать для получения результатов автозаполнения (надеюсь, наравне с автозаполнением в Google местах)? Не беспокойтесь о деталях реализации, просто алгоритм.

Если в Rails есть готовое решение, это было бы здорово!

Ответы [ 2 ]

2 голосов
/ 13 августа 2011

У меня есть что-то подобное (задачи, которые действительны для work_items), вот примерный набросок того, что мне пришлось сделать:

  1. Установка rails3-jquery-autocomplete, которая реализует большинство необходимых функций.1005 *
  2. Реализуйте в своем представлении что-то вроде: f.autocomplete_field :task, autocomplete_task_title_work_items_path, :id_element => "#task_id"
  3. Включите в свой контроллер, который реализует действия для представления, следующую строку в начале: autocomplete :task, :title, :limit => 1000, :full => true

Вы должны найти документацию на GitHub для rails-jquery-autocomplete с некоторыми дополнительными параметрами и пояснениями.

0 голосов
/ 13 августа 2011

Если у вас есть географические координаты местоположения, вы можете использовать пространственный индекс или кривую заполнения пространства для поиска всех местоположений в квадранте.Или вы можете попробовать формулу harvesine для более точного соответствия.

...