Прежде всего, все, что я знаю:
Преждевременная оптимизация - корень всего зла
Но я думаю, что неправильное автозаполнение действительно может взорвать ваш сайт.
Я хотел бы знать, существуют ли какие-либо библиотеки, которые могут эффективно выполнять автозаполнение (на стороне сервера), которые предпочтительно могут помещаться в ОЗУ (для лучшей производительности). Таким образом, нет автозаполнения javascript в браузере (yui / jquery / dojo). Я думаю, что есть достаточно темы об этом на stackoverflow. Но я не смог найти хорошую ветку об этом в stackoverflow (возможно, выглядел не достаточно хорошо).
Например, автозаполнение имен:
names:[alfred, miathe, .., ..]
Что я могу придумать:
- простой SQL, например:
SELECT name FROM users WHERE name LIKE al%
.
- Я думаю, что эта реализация взорвется множеством одновременно работающих пользователей или большим набором данных, но, возможно, я ошибаюсь, поэтому числа (которые можно обработать) были бы классными.
- Используя что-то вроде терминов solr, например:
http://localhost:8983/solr/terms?terms.fl=name&terms.sort=index&terms.prefix=al&wt=json&omitHeader=true
.
- Я не знаю производительности этого, поэтому, пожалуйста, скажите пользователям с большими сайтами.
- Может быть, что-то вроде восстановления памяти , на котором я также не тестировал производительность.
- Я также читал в этой теме о том, как реализовать это в Java (Lucene и некоторые библиотеки, созданные Shilad)
Что я хотел бы услышать, так это то, что сайты используют реализацию, и цифры того, насколько хорошо он может справиться с нагрузкой, предпочтительнее:
- Ссылка на реализацию или код.
- числа, до которых вы знаете, что оно может масштабироваться.
- Было бы неплохо, если бы он мог быть принят через http или сокеты.
Большое спасибо,
Альфред