Как лучше всего сделать поиск по сайту? — Хабр Q&A
1. Форма для отправки. Поле ввода и кнопка (минимальное).2. Обработка POST или GET в внешней программе (процессе) . Процесс открывает и слушает. Обрабатывает и возврашает на страницу что нашол. У меня ушел один вечер на WEB сервер, этот просто.
3. Робот.
— Содержимое сайта чем то парсить и делать базу слов и выражений.
4. Дерево тегов (как старорежимный тематический каталог)
— Набрать по тексту набор тегов. Желательно в виде дерева. Если сайт наполняете не вы, можно добавить метку «страница обновлена» (для робота) и пользователю интерфейс добавить ключи поиска в дерево.
— Можно прикрутить самообучалку (если позволяет задача).
— Можно эту базу выдавать в виде *.html
*Кремний
**Поликристал <— ссылка на список страниц.
***импортный <- тоже ссылка…
***очистка
**Кусковой
**Техинческий
*Германий
Такое дерево реализуется ссылками например в каталогах или БД (лучше всего своей, живущей в GPU).
5. «Каталог мне не нравится, хочу искать сам». — после капчи (или ее аналога) запускается парсер файлов.
Вариант 1:
(«кремний кусковой»)and(ГОСТ)
— просто написать чтото вроде «GREP» но умнее, как старый Яндекс и Гугл.
Вариант 2:
Можно упростить жизнь в виде:
[x]Точное совпадение
настройки: [х]-Учет регистра. [2]-растояние между словами. <more>
[x]:[Кремний кусковой]
[ ][ <null> ]
[ ]Точное совпадение
[x]Должны быть в документе слова (фразы) на растоянии от искомого
настройки: [х]-Учет регистра. [4]-слов. [any]-символов. <more - спойлер>
[x][в наличии]
[ ][ null ]
[ ]Должны быть в документе слова на растоянии от искомого.
[ ]Дата изменения документа.
Реализуется как:
условия_поиска {
uchar ucType; <-- enum { .. }
параметры_для_словия xOpt;
char* pszText;
};
Запустить поток (и). Открыть документ из списка публичных файлов (как usermap у samba или exports.conf у nfs) .
Пробежаться по массиву проверяя выполнение этих условий. Если все верно, запомнить места и добавить в выдачу.
Если сделать в виде отдельной проги будет полезна и вне вашего продукта (или искать, возможно такая уже есть).
Тогда просто скармливать ей из списка публичных файлов файлы и смотреть выдачу.
Можно и к grep прикрутить обработку, кому как нравится (как поиск по манам).
Каким должен быть поиск на сайте? / Блог компании PAYSTO / Хабр
Как не удивительно, множество современных сайтов не имеют полноценно реализованного базового функционала, который, казалось бы, должен быть стандартным требованием для каждого создаваемого проекта. В том числе это касается и поиска по сайту. С какими только ужасами мы не сталкивались: поиск, перекидывающий на страницу стороннего поискового ресурса, слово «поиск» вклинивающееся в запрос, формы, которые просто не работают и т.д. И это при том, что мы говорим об одном из ключевых элементов интерфейса.Основное:
1. Поместите окно поиска на каждой странице вашего сайта.
2. Оно должно легко находиться. Обычно пользователи ожидают увидеть его в верхней части экрана.
3. Окно поиска должно отличаться от других форм и полей, таких как регистрация или подписка на рассылки.
4. Не размещайте его слишком близко к другим формам.
5. Поле поиска должно вмещать минимум 30 символов.
6. Должно быть очевидно, что именно это — окно поиска. Напишите «поиск», используйте лупу или другие привычные иконки.
7. Слово «поиск» или другой текст, установленный в поле «по умолчанию», должен убираться, как только пользователь активирует форму.
8. Кнопка «Enter» должна запускать поиск.
9. Кнопка, размещенная справа от поля поиска, должна запускать процесс поиска.
10. Всплывающее окно поиска очень часто бывает не самым лучшим решением. Проведите A/B анализ, чтобы понять, помогает это вашим посетителям или мешает.
11. Разрешите использование привычных операторов для поиска.
12. Поиск должен «уметь» распознавать общепринятые сокращения и сленговые слова, которые касаются тематики вашего сайта.
Отображение результатов:
13. Показывайте пользователю общее количество страниц с результатами.
14. Показывайте посетителю его последние поисковые запросы, это позволит сократить время на повторный поиск и персонализировать этот процесс.
15. Не ограничивайте поиск только продуктами. Убедитесь, что пользователь получит соответствующую информацию в ответ на запросы: «Доставка», «Адрес» и д.р.
16. Добавьте несколько фильтров, которые сократят время, необходимое для просмотра результатов.
17. Отслеживайте с помощью Google Analytics или подобных служб все запросы, по которым пользователи не смогли ничего найти. Найдите причину каждой неудачи и устраните ее, если это в ваших силах.
18. Сделайте вашу страницу «Результаты не найдены» полезной. Всегда будут запросы, по которым пользователь ничего не найдет. Поместите здесь предложения по уточнению поискового запроса, предложите похожие, дайте ссылки на товарные категории и самые покупаемые продукты.
19. Дайте возможность пользователям сохранять результаты поиска в «избранное» или в нечто вроде списка пожеланий.
20. Обязательно разместите миниатюры товаров в результатах поиска.
Использование автозаполнения:
21. Автозаполнение должно работать только в случае очевидной ошибки. Это сократит время, которое посетители тратят на поиск, а также поможет тем, для кого язык интерфейса вашего сайта не родной.
Немного очевидностей:
Кроме того, поисковые запросы, которые пользователи вводят на вашем сайте, могут стать достоверным источником информации, правильное использование которой позволит максимально его улучшить:
1. На ту ли аудиторию нацелен ваш маркетинг? Если вы фиксируете огромное количество «посторонних» запросов, напрашивается вывод о том, что упоминания о вашем сайте встречаются не в том контексте или не той аудиторией.
2. Какие еще товары нужны пользователям? Поисковые запросы могут подсказать вам, что именно необходимо посетителю, чтобы он стал вашим покупателем. Если многие ищут модель, которой у вас нет, и она соответствует профилю вашего магазина, то почему бы ее не добавить?
3. Насколько удобен и интуитивен интерфейс сайта? Если среди запросов доминируют «навигационные» («адрес», «оплата», «доставка» и д.р.), возможно, вам стоит изменить дизайна сайта так, чтобы пользователь находил соответствующие разделы без особых усилий.
Важно помнить о том, что сегодняшний пользователь чрезмерно ценит свое время: если сайт загружается дольше 3-х секунд, посетитель пойдет искать другой сайт; за 8 секунд пользователь решает, воспользуется он вашими услугами или нет. Поиск – это инструмент, основной задачей которого является экономия времени, используйте его по назначению, иначе потеряете деньги.
Поиск от Яндекса по сайту: пример установки и настройки
Как сделать поиск по конкретному сайту с помощью Яндекса
Чтобы найти что-то на определённом сайте через Яндекс, можно указать требуемый адрес веб-ресурса в расширенной форме (другой вариант) или в строку поиска ввести запрос с использованием оператора site
, например,
вопрос site:shpargalkablog.ru
На многих сайтах, в том числе на блоге «Шпаргалка блоггера», поиск осуществляется скриптом из интерфейса https://site.yandex.ru/, который может настроить и добавить в код своего проекта даже начинающий вебмастер.
Плюсы и минусы Яндекс.Поиска для сайта
Плюсы
- Качественные результаты поиска, так как используются современные технологии компании, специализирующейся на обработке данных.
- Статистика заданных посетителями запросов.
- Бесплатно и без навязанной рекламы в отличие от похожего инструмента Google.
Минусы
- В выдаче сервиса участвуют только проиндексированные системой страницы сайта.
- Вероятна некорректная работа у посетителей из Украины в связи с блокировкой внутри страны служб Яндекса.
Как установить поиск Яндекса по сайту
Действия
- Подтвердить права на сайт в Яндекс.Вебмастере, если ранее этого не было сделано.
- На https://site.yandex.ru/searches/new/ определить область поиска (справка).
Программа может искать:
- по нескольким сайтам,
- по одному сайту,
http://shpargalkablog.ru/
- внутри одной конкретной папки, в которой, например, содержатся публикации только за 2011 год.
http://shpargalkablog.ru/2011/
- по нескольким сайтам,
- Использовать вид с кнопкой «Найти», а не с изображением лупы. С последней форма не воспринимается посетителями как поисковая, о чём несколько раз писали в комментариях «Шпаргалки блоггера».
- Использовать вариант «Показывать результаты на моей странице»: видя тот же дизайн с той же основной навигацией посетитель не будет дезориентирован. Флажок «Открывать страницу результатов в отдельной вкладке» оставить неактивным.
- Запомнить id (см. в примере
808327
), который можно увидеть в адресной строке браузера. - На указанную страницу (см. в примере
http://shpargalkablog.ru/search/
) добавить Она не нужна в списке Sitemap и RSS. - На остальные страницы сайта вставить примерно такой код формы без стороннего скрипта:
<style> #search { display: flex; width: 20em; max-width: 100%; margin: 0 auto; } #search input[type="search"] { flex: 1; } </style> <form action="http://shpargalkablog.ru/search/" target="_blank"> <input type="hidden" name="searchid" value="808327"> <input type="search" name="text" placeholder="Искать на сайте…"> <input type="submit" value="Найти"> </form>
Образец: Поисковые подсказки прекратят работать, зато код не будет негативно сказываться на- открытии страниц сайта посетителями из Украины, хотя проблемы просмотра результатов поиска сохранятся,
- скорости загрузки страниц сайта.
как сделать поиск по словам на сайте?
Прикольно! Пишу «ctrl + F» и ответ блокируется
если на конкретной странице — в браузере ctrl+F )) но если написать — js Если просто поиск по сайту — ты задолбаешься с регулярными выражениями. Проще найти готовый скрипт поиска на php
F3 — работает везде и на всем