Поиск по сайту или что надо знать каждому веб-мастеру

поисковые системы

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

Обычно владельцы сайта не пытаются изобрести велосипед, используя в качестве поисковой системы скрипты от Google или Яндекс. Достоинства метода в том, что встраиваются эти модули достаточно легко (по многих CMS и конструкторах сайтов они уже есть), ищут данные по сложным схемам запросов, причем в зону обработки попадают только страницы нашего сайта – ну чем не прелесть? А ведь можно щелкнуть тумблером и искать страницы в Большой Сети. Плохого ничего нет, кроме естественной преграды в виде того, что под поиск могут попадать только проиндексированные страницы сайта. Если сайт старый, это не составляет проблемы, а если на него постоянно добавляется новый контент, то по нему-то как раз поиска и не будет. Обидно же? А если это не просто сайт, а магазин, где новинки до индексации покроются пылью? В общем, приходится придумывать обходные маневры. Заметим часто, что поиск даже в этом случае часто перекладывают на плечи модулей из CMS, а затем долго тестируют «попадание в цель». Другим же подавай собственное решение проблемы. Давайте-ка подумаем, как оно может выглядеть – вдруг кто-то все же напишет универсальную поисковую систему по сайту.

По идее, примитивные программы поиска учат писать на любом языке программирования. Суть их – обработка текста, где каждое отдельное слово запоминается в уникальном виде в списке. Количество совпадений отражается в счетчике, а дополнительный список представляет собой набор индексов к конкретным документам. В приложении баз данных такой метод называется отношением «один-ко-многим». В дальнейшем поиск по отдельному слову требует прохода по первому списку, а затем заголовки документов или их части выводятся как результат. Количество страниц и объем отображаемого смежного текста можно менять. Если идет поиск по набору слов, то требуется несколько проходов – в зависимости от булевой операции И, ИЛИ, NOT и т.д. После сбора всех слов идет группировка индексов из второго списка, чтобы найти для них общий документ. Прямой поиск фразы можно вести напрямую по контенту, игнорируя знаки препинания. Такой анализ сулит немало математических развлечений и тупиков. В частности, нужно как-то предусмотреть наличие словарей, чтобы различать слова по их корню, но в целом вопрос решаем.

Добавить комментарий:
Имя:
E-mail:
2018 © Обсуждение Joomla и других CMS-систем управления сайтами  Правила | О проекте | Обратная связь