Автозаполнение с CouchDB и now.js - PullRequest
0 голосов
/ 03 ноября 2011

Я хотел бы включить автозаполнение в некоторых текстовых полях и не знаю, какую стратегию лучше использовать. Все данные хранятся в CouchDB, и у меня есть несколько представлений, которые возвращают идентификатор и ключ с именами для автозаполнения. Я прочитал о ключе начала и конце ключа и хотел бы использовать его с now.js. Как это будет выглядеть?

Это правильное решение или мне лучше синхронизироваться с redis или memcache? Или заполнить Trie списком? Или HTMl5 локальное хранилище?

Данные используются на главной странице, поэтому они запрашиваются очень часто, но набор не очень большой, может быть до 500 записей, изменяющихся ок. один раз в неделю.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2011

Я использовал автозаполнение now.js с CouchDB Typeahead Search, и результаты были очень хорошими.Не хотел устанавливать другую библиотеку (YUI).

0 голосов
/ 04 ноября 2011

500 записей не слишком велика, на мой взгляд.Вы можете сделать это для начала: модуль автозаполнения YUI на внешнем интерфейсе.После загрузки страницы извлеките данные один раз с сервера через API REST и инициализируйте структуры данных автозаполнения для каждого из полей, в которых оно требуется.

Для больших наборов данных вы все равно можете использовать виджет автозаполнения YUI, но данные будутприходят с сервера при каждом нажатии клавиши.На сервере вы можете предварительно построить индекс на основе троичного поискового дерева (один раз в неделю) и обслуживать его с помощью веб-службы, принимая строку с частично введенным типом и возвращая фиксированный максимальный список совпадений в качестве выходных данных.Обратите внимание на автодополнение символа финансов на Yahoo Finance.

Преимущество метода, основанного на сервере, заключается в том, что производительность является быстрой независимо от размера корпуса (данных).Но для оптимального использования памяти вам нужно только сохранить конечный список совпадений в узлах дерева.Используя первый метод, где модуль автозаполнения YUI хранит и индексирует данные, вы можете увидеть все совпадения для входа, но ответ может быть немного медленнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...