Нужна умная поисковая строка (аля "Яндекс")

12
PartW
На сайте с 06.12.2005
Offline
264
#11

Ясно вообщем б/д не избежать в любом случае.

А как это реализовано у Яндекса или Гугля интересно...

[Удален]
#12

Так и реализовано. Аяксом запрос на сервер а там стопудово из файлов тягается

malls
На сайте с 08.08.2005
Offline
255
#13
PartW:
Ясно вообщем б/д не избежать в любом случае.
А как это реализовано у Яндекса или Гугля интересно...

По событию (javascript) изменения строки поиска (onChange) делается AJAX запрос к серверному скрипту, который делает выбоку из таблицы базы данных, в которой лежат все запросы пользователей к поисковой системе, по принципу LIKE bla-bla-%. Т.е выбирается все что начинается с уже введенных пользователем символов...

Все просто.

N_MONax
На сайте с 22.08.2007
Offline
112
#14

Насколько я понимаю тему и ТС, речь идёт о появляющемся контейнере при поиске, который предлагает нам то, что возможно мы хотели бы запросить ;)

Возможно эьто зависит от каких-то настроек на стороне клиента (кукис, ip, профили) но Яндекс в данном контейнере выдаёт мне те запросы, которые я уже вводил. То есть не подбор всех запросов "по теме", а именно мои запросы.

Что касается Гугла, то он выдаёт именно запросы по теме, причём справа отображая популярность этих самых запросов. Подозреваю, что данная информация кешируется и выдаётся из кеша.

По моему мнению, для задач ТС подойдёт следующий алгоритм:

1 - Сохраняем все запросы пользователей сайта.

2 - При вводе очередного запроса запускаем AJAX скрипт, который средствами серверного языка (php, например) тащит запросы из базы данных по совпадению с маской, в данном случае с введёнными посетителем сайта последовательностью букв.

3. Выдаём данный список пользователю при изменении поля ввода запросов (то есть добавлении/удалении очередного символа).

N_MONax добавил 28.02.2009 в 17:10

malls, А может и не начинается, а встречается в середине...

Полный спектр услуг в интернете. Быстро, Качественно, Дорого. Пишите в личку.
PartW
На сайте с 06.12.2005
Offline
264
#15
N_MONax:
Яндекс в данном контейнере выдаёт мне те запросы, которые я уже вводил. То есть не подбор всех запросов "по теме", а именно мои запросы.

У меня больше похоже на отображение самых популярных запросов.

N_MONax:
Что касается Гугла, то он выдаёт именно запросы по теме, причём справа отображая популярность этих самых запросов. Подозреваю, что данная информация кешируется и выдаётся из кеша .

На сервере Гугля? Не в кэше страниц брайзера.

N_MONax:
По моему мнению, для задач ТС подойдёт следующий алгоритм:
1 - Сохраняем все запросы пользователей сайта.
2 - При вводе очередного запроса запускаем AJAX скрипт, который средствами серверного языка (php, например) тащит запросы из базы данных по совпадению с маской, в данном случае с введёнными посетителем сайта последовательностью букв.
3. Выдаём данный список пользователю при изменении поля ввода запросов (то есть добавлении/удалении очередного символа).

1 - не проблема, их много :)

2 - тоже не вопрос, только потом скрипт отправляет запрос к поисковой программе по данному словосочетанию ? Если да то тогда тоже все достаточно просто...

3 - угу...

Да решение задач, часто намнго проще, чем кажется :)

Спасибо всем !

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий