Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Возможно, вы искали... - как это реализуется?
Покинул форум
Сообщений всего: 15
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Доброго времени суток.
Не знал, куда написать, решил в вопросы новичков. Думаю, всем хорошо знаком механизм поиска в Google. В частности, если Вы вводите запрос типа "phhp", то поисковик выдаст "Возможно, вы имели в виду: php".
Долго думал, каким образом это вообще работает, но ни одной умной мысли на этот счет так и не появилось. Так как все-таки обрабатывается запрос и возможна ли реализация такой проверки на обычном сайте?
esterio
Отправлено: 28 Марта, 2013 - 18:16:18
Активный участник
Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012 Откуда: Украина, Львов
Помог: 127 раз(а)
jqueryuU autocomplete
zusicks438
Отправлено: 28 Марта, 2013 - 20:04:40
Новичок
Покинул форум
Сообщений всего: 15
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Спасибо, это тоже очень полезная штука, которая отчасти решает данную проблему.
Но все же изначально был интересен вариант, когда я уже ввел запрос, и если запрос оказался с опечаткой, то скрипт на эту опечатку должен указать ("возможно, вы имели в виду такое-то слово")
Покинул форум
Сообщений всего: 315
Дата рег-ции: Янв. 2012 Откуда: Минск
Помог: 9 раз(а)
Интересная задачка =)
А что если система ищет слова, состоящие из букв, в данном случае, 'p','h','h','p', и выводит наиболее "похожее"?
DelphinPRO
Отправлено: 28 Марта, 2013 - 20:19:02
Активный участник
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
видимо нужен спеллчекер + анализ раскладки + может еще что
----- Чем больше узнаю, тем больше я не знаю.
Zuldek
Отправлено: 29 Марта, 2013 - 08:44:02
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
jqueryuU autocomplete + поиск по алиасам тегов
Пример тег php
Пользователь ввел пхп. Вы должны транслитерировать запрос и искать в базе будете по php и пхп. Если пользователь ввел пх, то, соответственно ph и пх.
Если у вас под автокомплит подходит только php, то он и вылезет.
У одного тега может быть сколько угодно алиасов: php - phpbb (возможно вы захотите использовать это как алиас php, кто вас знает), пыха и т.д. В случае, если у вас есть алиасы то вы показываете их пользователю в "возможно вы искали:", при этом выборку нод в базе осуществляете по конкретному ключу тега, к которому относится алиас, выбранный пользователем.
Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012
Помог: 353 раз(а)
Zuldek, а если это поиск по содержимому а не о тегам, как быть?
Для всех слов алиасы не напишешь.
----- Чем больше узнаю, тем больше я не знаю.
Zuldek
Отправлено: 29 Марта, 2013 - 09:38:14
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
DelphinPRO пишет:
Zuldek, а если это поиск по содержимому а не о тегам, как быть?
Для всех слов алиасы не напишешь.
В большинстве популярных CMS (прим. WP) это делается с помощью тегов. Идет выборка из списка доступных тегов (как и создание новых) при добавлении новой ноды на сайт.
В противном случае пишите инструмент аналог гугла с позиции автоматического анализа текста, который не просто будет формировать индексы содержимого, но уметь разделять содержимое по логическому и тематическому смыслу. Кроме того, такой инструмент будет ещё хранить и оценивать историю поиска, чтобы показывать актуальные результаты (учитывающие ошибки в написании слов) в поле "возможно вы искали".
Цитата:
Для всех слов алиасы не напишешь.
Именно это, как вы знаете, в конечном счете и делает поисковая система. Только, конечно, не пишет их для всех слов, а группирует, типизирует и определяет канонические варианты.
Покинул форум
Сообщений всего: 15
Дата рег-ции: Авг. 2012
Помог: 0 раз(а)
Хм...да, все становится более понятным. Сильно заморачиваться в данном случае не имеет смысла, но jqueryuU autocomplete, учет раскладки и теги действительно сильно облегчат жизнь. Спасибо.
armancho7777777
Отправлено: 29 Марта, 2013 - 18:23:47
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
caballero пишет:
если таблицы ISAM можно заюзать полнотекстовый поиск
Этого будет достаточно.
match / against выберит и отсортирует результат запроса по релевантности.
Ограничение по умолчанию в 3 символа, которое можно отредактировать в конфигурационном файле MySQL.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.