Помощь в написании студенческих работ
Антистрессовый сервис

Организация поиска по данных

РефератПомощь в написанииУзнать стоимостьмоей работы

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

Организация поиска по данных (реферат, курсовая, диплом, контрольная)

Поисковая форма — это очень полезная и востребованная штука, особенно если речь идет о серьезных крупных (в плане количества страниц и представленного материала) и хорошо посещаемых сайтах. Найти нужную информацию на подобном сайте используя лишь меню навигации и внутренние ссылки порой может представлять трудную задачу. Гораздо проще вбить пару нужных слов в соответствующее поле, нажать кнопочку «найти» и получить в итоге ссылки на страницы, где возможно и будет интересующая пользователя информация.

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

Первый способ поиска, поиск — реализованный средствами движка сайта (php или какой ни будь другой язык веб-программирования) — но это только для серьезных веб-программистов, для простых смертных предпочтителен способ номер 2; поисковая форма, обращающаяся к поисковику (Google, Яндекс или какому ни будь другому).

Я сделал систему поиска по второму способу, которого доступен каждому человеку, освоившему азы html, и подходит для любого сайта, даже состоящего из набора статических html-страниц. Однако такой поиск будет вестись только по тем страницам, которые есть в базе поисковика. Чтобы все страницы сайта нормально индексировались необходимо соблюдение двух правил:

  • 1) на каждую страницу сайта должна вести прямая ссылка без редиректа;
  • 2) сайт не должен нарушать поисковую лицензию используемого поисковика (не должно быть причин бана сайта).

На моем сайте имеется множество различных материалов (статей, уроков, видео уроков и прочего). Всё это добро находится в базе данных. И моя задача — реализовать поиск на сайте.

Простейший алгоритм, следующий:

  • · Создать HTML-форму со строкой поиска, а также кнопкой «Submit». В текстовое поле пользователи будут вводить поисковый запрос, а далее нажимать на кнопку.
  • · Получить поисковый запрос (как правило, передаваемый методом GET, но иногда применяют и POST), а также, в целях защиты от XSS, пропустить его через функцию htmlspecialchars ().
  • · Сделать выборку из соответствующих таблицы (со статьями, новостями, заметками и прочим) тех записей, в которых содержится поисковый запрос.

Рис. 3.16 Результаты поиска.

Показываю примерный SQL-запрос для таких случаев:

SELECT * FROM lessons WHERE `text_article` LIKE %search%.

Соответственно, вместо search подставляется строка поиска.

Получив записи, в нужном виде выводим их, желательно, по релевантности. Я, например, сделал у себя на сайте так: где больше всего совпадений — та статья и релевантные, следовательно, ставлю её первой. Скорее всего, Вам этот способ оценки релевантности тоже подойдёт.

Многие из Вас скажут, что ничего сложного здесь нет. И будут отчасти правы, однако, давайте разберём такой пример строки поиска: «ищу этот текст». Встаёт вопрос: «А что, собственно, ищется?». То ли ищется точное вхождение текста «ищу этот текст». Или, быть может, ищется текст, где присутствуют все три слова, но которые могут следовать далеко не друг за другом. Или, возможно, ищется текст, где присутствует хотя бы одно из этих слов.

И вот здесь задача значительно усложняется. Можно сделать сложную систему синтаксиса (как в поисковых системах), например, ищется точное вхождение, если запрос задан в кавычках. А можно давать выбор пользователям, как именно они хотят проводить поиск (с помощью radio-кнопок). Таким образом, сделано у меня на сайте. Поэтому в предыдущий алгоритм добавляется ещё один пункт: составление SQL-запрос. Вот пример SQL-запроса, когда нужно вытащить все материалы, в которых имеется хотя бы одно слово из запроса «ищу этот текст» :

SELECT * FROM articles WHERE (`text_article` LIKE «%ищу%» OR `text_article` LIKE «%этот%» OR`text_article` LIKE «%текст%»).

Соответственно, в скрипте поиска Вы должны генерировать подобные SQL-запросы, посылать к базе данных, получать ответ и выводить его. Это всё ещё больше усложняется, если Вы выводите записи по релевантности, так как трудно сразу сказать, что должно быть релевантнее: 3 точных вхождения запроса, либо 10 вхождений частей запроса. У меня на сайте предпочтение всегда отдаётся точным вхождениям, но этот момент уже достаточно спорен. Безусловно, это сложно, и если это Вы делаете в первый раз, то несколько часов Вы точно потратите.

Анализируя web-сайты в сети Интернет, можно сделать только один вывод: очень нехорошая ситуация складывается с поиском по интернет-ресурсу. Реализованный поиск на web-сайте либо плохо справляется с сортировкой и обработкой пользовательских запросов, либо не работает, а иногда он вообще отсутствует.

Поиск на web-сайте нужен, поскольку он должен выполнять следующие задачи:

  • · обеспечивать альтернативную навигацию;
  • · делать доступными архивы сайта и получение информации с них; позволять увеличить активность посетителей на сайте, делая его более дружественным и привлекательным;
  • · представлять собой удобный сервис для профессионалов.

Поиск нужен не на всех сайтах. Например, в нем нет необходимости на сайтах-визитках компаний, для имиджевых проектов. В то же время для корпоративных web-сайтов он полезен. Если говорить о ресурсах средств массовой информации, то важность поиска здесь неоспорима. Для контентных проектов (сайтов, которые наполнены полезной информацией) поиск на сайте просто необходим. Для различного рода порталов поиск — это один из ключевых сервисов для пользователя.

Выбирая движок, нужно учитывать следующие факторы, характеристики и параметры:

  • · Ранжирование. Нужно определиться с тем, какие сайты должны занимать верхние уровни, а какие должны быть от ранжированы по релевантности, а также по зоне;
  • · Поддержка документов различных форматов. Безусловно, поисковые системы анализируют документы в распространенном формате html, но не следует забывать о текстовых документах в форматах pdf, doc;
  • · Скорость обновления. Если речь идет о новостном web-сайте, то очень важно, чтобы время публикации новости, а также время, когда она попадает в индекс, были минимальными. Кроме того, поисковый индекс должен обновляться не реже одного раза в день;
  • · Учет всех разделов web-сайта;
  • · Подавление дублей с помощью навигационной обвязки. Если говорить о новостной ленте, то часто одна и та же новость дублируется в разных разделах web-сайта. Реализованный поисковик должен уметь выявлять и группировать такого рода дубли;
  • · Расширение запросов;
  • · Высокое качество сниппетов. Если поисковая система реализована грамотно, то она должна выделять качественный сниппет, который доступен для понимания широкой аудитории пользователей;
  • · Морфология. В том случае, если на web-сайте есть возможность выбора языка или используется не один язык, тогда поисковая система должна дополнительно эффективно определять язык запроса пользователя на сайте.

Перед тем, как организовать поиск на web-сайте, полезно знать, какие есть виды поисковых систем для установки на интернет-ресурсе:

  • 1. Крупные поисковые системы. Они подходят в том случае, если нет необходимости управлять
  • 2. Поиск по web-сайту, что встроен в CMS.
  • 3. Средства реляционных систем управления базами данных. Данный вид поиска очень удобен для разработчиков сайта. Они характеризуются тем, что есть ограничение на количество документов, по которым осуществляется поиск, кроме того, каждый из документов должен находиться в БД (базе данных).
  • 4. Внешний поисковый сервис. Этот вид поиска характеризуется тем, что данные представляются в определенном формате — xml. Внешний поисковый сервис заходит на web-сайт снаружи. Недостатком такого вида поисковой системы является то, что они не выделяют мета данные, что связаны с документом.
  • 5. Другие поисковые продукты. Как правило, возникает сложность с их настройкой. Данный вид поисковых систем может быть свободным и коммерческим.

Организация поиска на web-сайте невозможна без оценки его качества. Чтобы осуществить контроль, необходимо оценить полноту и точность поиска — это формальные оценочные параметры, что может использовать разработчик. Качество поиска определяется отсутствием дублей и прочего навигационного «мусора», временем появления документа в поисковом индексе. Следует также обратить внимание на сниппеты.

Тем разработчикам, которые раздумывают о необходимости поисковой системы, следует знать, что ее можно использовать очень эффективно необычными способами: для перелинковки web-сайтов, организации каталога, связывания между собой статей, осуществления поиска по чужим web-сайтам.

Перелинковка web-сайтов осуществляется с помощью создания словаря тематических запросов из предметной области интернет-ресурса. Термины такого словаря запросов хорошо использовать для создания соответствующих ссылок из всех документов web-сайта на поисковую выдачу по конкретному запросу.

Организовывая поиск на web-сайте, следует знать о таких новых возможностях как кластеризация результатов поиска, эффективные интерфейсные решения. Как пример, можно назвать Quintura, которая не является пассивной, а активно предлагает пользователю варианты выдачи на его запрос, учитывает все пожелания, затем, анализируя найденную информацию, снова предлагает варианты выдачи. Еще одной инновационной возможностью является реферирование документов поисковой выдачи, возможность показа краткой выдачи.

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

Схема работы поисковой системы:

Схема работы поисковой системы.

Рис. 3.17 Схема работы поисковой системы.

Показать весь текст
Заполнить форму текущей работой