26 нояб. 2010 г.

Разные плюшки поиска от Google

"Случайно" наткнулся на интересную статью о поиске в Гугле под названием "Разные плюшки от Google" автор Иван Сопов:

Я довольно регулярно пользуюсь ограничением по времени в поиске Google - его можно установить в расширенном поиске и означает он ограничение по времени первой индексации документа. Но для установки такого ограничения можно обойтись и без расширенного поиска.

В поиске есть специальный параметр "daterange" - указывать его надо в виде daterange:<начальная дата ограничения>-<конечная дата ограничения> И всё было бы просто замечательно, если бы не формат, в котором надо указывать дату. Этим форматом является юлианский день. Кроме того, что надо помнить текущее число дней, прошедших от 1 января 4713 до н. э., этот день еще и начинается около нашего полудня. То есть заботиться приходится еще и о том, вошли ли нужные 12 часов в запрос, или не вошли? Ну и пример. Такая поисковая строка ограничивает результаты поиска страницами, впервые проиндексированными, с 12 дня 2 апреля 2010 года до 12 дня 3 япреля 2010 года: первый ядерный взрыв daterange:2455289-2455290 (я, правда, несовсем понимаю, в каком это всё часовом поясе - вообще юлианский день начинается в 12 дня по Александии, где UTC+2, а летом UTC+3).

Но кроме этого есть еще и возможность ограничивать поиск по дате специальным параметром, который передается поисковой машине. Этим параметром является "as_qdr". И аргументом у него можно задать ограничение последними сутками или каким-то числом суток, неделей или несколькими неделями, месяцами и годами.

Адекватнее всего это можно использовать при создании собственных поисоквых форм для запросов в Google. Сейчас там вместо кода простой html-формочки дают код виджета, но зарегестрировав свою систему пользовательского поиска вот здесь, можно просто подставить её идентификатор в код, представленный ниже. Здесь "007167175344560344735:nnhrymxvrte" и есть тот самый идентификатор. Найти его можно в панеле управления системой пользовательского поиска или взять прямо из ядреса этой системы.

Кроме того здесь добавлен еще и выбор числа результатов поиска, который сделан параметром "num". В этот параметр можно подставлять практически любое целое число. Еще в этом примере паказано, как можно ограничить поиск определенным типом файла. За это отвечает параметр "as_filetype", котоый может принимать много разных значений - причем, в справке я нашел только весьма устаревший перечень из 13 возможных форматов, но реально этот параметр принимает гораздо больше. Самые частовстречающиеся указаны в примере. К сожалению, поиск с ограничением формата файла не принимает (и по всей видимости google их вообще не индексирует) файлы DjVu - про этот формат часто говорят, что в нем можно хранить только изображения с различными алгоритмами сжатия, но не текстовую информацию - так вот, можно. Также не индесируются роботом общего назначения, как выделенные форматы файлов, и исходники. Для их поиска придется пользоваться отдельным инструментом для поиска исходных кодов.

Еще одним интересным параметром поиска, который есть в официальной справке, но который мне так и не удалось заставить работать, является сортировка результатов. Она задается параметром "sort" (что само по себе удивительно), который принимает кроме значения по-умолчанию (пустая строка) только один вариант сортировке - по дате. Но, зато, по тут уже есть где разгуляться. Если вы дочитали досюда, то скорее всего уже можете разобраться из примера кода, какие значения может принимать этот параметр: date:<направление сортировка>:<режим>:<формат даты>. Если с направлением сортировки всё понятно, то режим - это порядок применения сортировки по релевантности - будет она применяться до сортировке по дате и отсекаться всё кроме тысячи самых релевантных результатов или не будет. Кроме того, значением "L", которого нет в примере, можно вообще отключить сортировку по дате - смысл его должен быть в том, что в результатах поиска будет выводиться информация о дате индексации документов.

При помощи параметра "filter" можно управлять выводом дублирующихся результатов. Этот параметр может принимать целых четыре значения. Собственно, фильтрует Google дубли во-первых для всех документов вообще. При этом дублями считаются странички с одинковым заголовком и одинаковым фрагментом, относящимся к поисковому запросу. (Так написано в справке, но у меня есть очень сильное подозрение, что идентичность заголовков для дублей совсем необязательна.) Во-вторых, Google фильтрует вывод похожих страниц с одного сайта, или точнее - из одной директории этого сайта, причем в данном случае - он показывает две похожие страницы и дает еще и ссылку на возможность просмотреть все страницы, включая похожие. Комбинациями включения/выключения этих двух механизмов фильтрации дублей и являются четыре возможных значения параметра "filter". Итак, "0" - фильтрация обоими механизмами, "1" - оба механизма фильтрации выключены, "s" - фильтрация только похожих страниц в рамках одного сайта, "p" - фильтрация только дублей "вообще". В форме в примере есть только варианты для первых двух значений параметра...


Продолжение и еще несколько "вкусностей" там же.

Комментариев нет: