Добавляем новые поисковые операторы в Google

Текущих операторов мне не хватало всегда. Различных функций поиска в Google предостаточно, но вот реализованы некоторые из них совершенно неюзабельно. Например, почему для того, чтобы задать язык искомых вебстраниц, я должен каждый раз лезть в «Advanced Search» или редактировать переменные GET-запроса в урле страницы? Про на автомате вбиваемый «&num=100» я уж и не говорю. Самое странное, что часть параметров из «Advanced Search» реализована в виде операторов, часть — нет.

Я всегда хотел, чтобы появились дополнительные поисковые операторы, покрывающие эти, довольно полезные функции. И только вчера вечером я догнал: «Ведь можно реализовать их с помощью user.js!» Набросал планчик, засел на несколько часов (ибо джаваскриптер из меня никакой) и проапдейтил уже известный вам «Tuned Google SERPs».

Итак, на сей момент доступны следующие операторы:

co:<двухбуквенный_код_страны> — задаёт страну, из которой вы осуществляете вебсёрфинг. Бывает полезно, если вы решили посмотреть «а какие позиции мой сайт имеет в выдаче для Аргентины».

lang:<двухбуквенный_код_языка> — задаёт язык страниц, отображаемых в результатах. Например, вы ищете материалы на русском о новомодном геджете или программе. Как многие делали раньше? Писали англоязычное название и какое-нибудь русское слово. Например: «iphone 3g обзор». Но во-первых, это сужает круг поисков, во-вторых, Гугл последнее время ориентируется на то, что это слово было в ссылке на статью, сама статья при этом может быть англоязычной и слова не содержать. Установив скрипт, мы смело пишем «iphone 3gs lang:ru» и наслаждаемся полным диапазоном материалов на русском. Второй случай, который приходит на ум — это пересечение слов в разных языках. Например, по русским запросам иногда вылазят болгарские страницы. Я, впервые увидев их, удивлённо подумал, что это страницы очередного удаффовского сайта. При помощи оператора «lang:» можно откинуть эти посторонние страницы.

loc:<двухбуквенный_код_страны> — задаёт страну, в которой расположен вебсайт.

num:<число_от_1_до_100> — задаёт количество выдаваемых результатов. Казалось бы, почему не установить «100» в настройках поиска! Однако, как правило, классических десяти вполне хватает. Лишь в некоторых, особых случаях надо увеличить это количество.

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

Устанавливаем, тестируем, сообщаем о багах, вносим дельные предложения по усовершенствованиям…

P. S. Кто пропустил — Tuned Google SERPs делает ещё несколько интересных вещей, читайте о них в предыдущих постах моего блога.
+37
5 августа 2009, 10:03
42
samlowry 70,0 G+

комментарии (41)

0
demonstr #
Можно сделать небольшой сервис, который будет охватывать все настройки поиска и предлагать пользователю удобный графический интерфейс. Иногда так лениво дописывать параметры в запрос :)
+1
samlowry #
Так они охвачены как раз в «Advanced Search». Не графически, но как раз почти все.
0
demonstr #
Вам не хотелось лезть в advanced и я думаю что вы бы с радостью ещё и от ручного ввода отказались. Я бы вообще очень хотел получить возможность сохранять дополнительные параметры поиска (пресеты), чтобы потом их добавлять все разом с помощью малюсенького выпадающего списка.
0
samlowry #
Насчёт меня — отнюдь нет, интерфейс командной строки для меня рулит :)
0
demonstr #
А ведь можно и добавить возможность автодополнения, как в командной строчке.
0
samlowry #
Да, а вот это я люблю… Но как это может выглядеть — непонятно, подскажи, как ты это видишь… И как это будет сочетаться с родным гугеловским автодополнением?
0
demonstr #
Родное гугловское дополнение «гадит» под строчку, а нажатие tab может дополнять последнее слово, если вариант дополнения единственный. Например: печатаю я russian history -la*нажимаю tab* автоматически добавляется russian history -lang и под строкой образуется список доступных для выбора языков.

Вариант второй. При написании запроса т.е простых ключевых слов показываются варианты авто дополнения запроса, а когда я нажимаю клавишу (допустим тот-же tab) включается авто дополнение команд.
0
petrovi4 #
Не понимаю — операторы доступны только в самой строке поиска?
Было бы здорово именно графический интерфейс: чекнул галочку, выбрал из списка прямо на странице поиска.
Как то так.
0
samlowry #
Подобные вещи я видел, во всяком случае, для кол-ва результатов. Но т. к. изначально вся активность происходит в строке запроса, в т. ч. и с другими операторами, типа site: intitle: ext: и т. п. — то у людей, пользующихся расширенными ф-циями поисковиков, уже рука набита на ввод подобных операторов. Коим, собственно, сей user.js посвящается :)
0
Idsa #
>>Про на автомате вбиваемый «&num=100»
А не 10 ли?
0
samlowry #
Почему 10? :)
0
Idsa #
Я так понял, это количество выдаваемых результатов на странице?
+1
samlowry #
Ага. Только зачем вбивать num=10? :) По дефолту —  и так 10. Я имею в виду, руками на автомате :) Т. к. часто надо осмотреть всю выдачу по какому-то запросу.
0
Idsa #
Теперь понял :)
А то я уж было подумал, что Гугл меня обделяет :)
0
samlowry #
Единственное, в чём Гугл нас обделяет — так это в том, что за 1000 результатов пролистать нельзя :)
0
ivanrt #
Нумерация есть, подстветка есть, тэги не работают. :( Версия 1.7 с поддержкой тэгов.
Кстати откуда берется список linksUnderSupervision?
0
ivanrt #
Извиняюсь, я тэгами назвал операторы.
0
samlowry #
Про список не осилил… Правишь массив вверху скрипта, добавляешь какие надо мониторить домены, какие не надо — удаляешь :)

А как операторы именно не работают? Откуда вводишь их, с какой страницы? Затем — в каком браузере?
–1
liveuser #
Знакомый подход: потратить несколько часов, чтобы не тратить несколько секунд и сэкономить тем самым… сколько? минуты три в год набежит? Да еще и из адресной строки не работает.

> Например, вы ищете материалы на русском… Как многие делали раньше? Писали англоязычное название и какое-нибудь русское слово.

Раскрою мегахак: на google.ru, под формой поиска, есть переключатель «Поиск в Интернете» / «Поиск страниц на русском».
0
samlowry #
Кул! Я не юзаю google.ru просто. А когда надо на английском, что там делать? :) И т. п. :)

Нет, я не юзаю эти параметры только из-за того, что они недоступны в виде операторов. gl=us (подмена моей страны) вбито по-дефолту. num=100 постоянно приходится добивать, когда надо осмотреть выдачу комплексно. И т. п.

Я б не прочь и из адресной строки сделать, но я не люблю кастомные неуниверсальные решения, которые при любой перемене перестанут работать.
0
liveuser #
> А когда надо на английском, что там делать?
Если раз в неделю — «Расширенный поиск» рулит.
Если чаще — www.google.ru/search?q=%s и google.com/search?q=%s&hl=en в псевдонимы адресов. На все про все — 30 секунд, без JS, стандартными средствами, не надо устанавливать и тестить, работает в адресной строке.

Если нужны небанальные вещи (скажем, поиск с произвольно заданной датой, который в Гугле сделан через жопу, т.е. через юлианский календарь) — то иду на jwebnet.net/advancedgooglesearch.html Поскольку мне поиск по дате нужен все чаще, а стандартными средствами никак — то да, подумываю покопаться в JS.

Но чтобы вот так, количество результатов через JS настраивать (а вся разница теперь — нужно дописывать не &num=100 в адрес, а num:100 в форму) — это нужно очень много свободного времени иметь.
0
samlowry #
Основная цель у меня была это как раз этот hl. Я, кстати, их не помню, ибо их много — hl gl — это два, которые я могу использовать. Затем — я сейчас уже как минимум на трёх языках ищу/фильтрую — en, ru и th. Дальше может быть ещё больше. + несколько параметров могут пересекаться. А всякие посторонние сервисы никогда не помнил. Например, тот же мегаполезный сервис, который сравнивает два запроса — какое кол-во результатов, а-ля cats vs. dogs, я часто в спорах этим оперирую. Скорее всего, мне просто не нравятся/неудобны все остальные дизайны и скорости работы, окромя родного Гугловского.

А шо с датой не так? Я вообще забивал на неё — раньше это была дата последнего обновления страницы в кеше, это было просто пятое колесо :)
0
liveuser #
> раньше это была дата последнего обновления страницы в кеше

Чего? «Показать веб-страницы, просмотренные впервые» — www.google.com/advanced_search
А поиск по страницам, появившимся в определенный период, — это как бы совсем не пятое колесо.

www.google.com/search?q=%D0%BF%D1%83%D1%82%D0%B8%D0%BD+daterange%3A2451544-2451544
0
samlowry #
Ты пропустил слово «раньше» ;)
0
samlowry #
Блин, а кто придумал юзать юлианский календарь? :) В чём прикол? :)
0
samlowry #
P. S. Кстати — а с чего это hl, если на самом деле lr=lang_en и т. п.?
0
Inversion #
У меня работает только если я авторизирован. Возможно сделать, чтобы это было не обязательно?
0
samlowry #
Я посмотрю и отпишу в этот коммент, если найду баг.
0
samlowry #
Проверил — работает и когда неавторизован. А как именно не работает, когда неавторизован? Операторы только не работают, или номера результатов и подсветка тоже?
0
Inversion #
— нет нумерации
— нет ссылок на текстовые версии
— операторы не работают

Смотрел в консоль Firebug'a — ничего не сыпется.
Если авторизоваться — всё работает.
Странно
+1
Inversion #
Очень интересно получилось скомбинировать «Cached Text-only» с недавно всплывшим сервисом lab.arc90.com/experiments/readability/.
Я сделал маленький юзерскрипт, чтобы их алгоритм и стиль применялись сразу при открытии такой версии, а чтобы не было запросов на их сервер — сохранил их скрипты и стили у себя.
0
samlowry #
Кул! А я делал user.css в Опере, который отрубает подчистую стиль сайта и делает что-то в том же роде, что и тот сервис — большой читабельный шрифт на узкой странице. Но перестал юзать, т. к. теми средствами, которыми он включался, его было неудобно включать…
0
Inversion #
Очень интересно получилось скомбинировать «Cached Text-only» с недавно всплывшим сервисом lab.arc90.com/experiments/readability/.
Я сделал маленький юзерскрипт, чтобы их алгоритм и стиль применялись сразу при открытии такой версии, а чтобы не было запросов на их сервер — сохранил их скрипты и стили у себя.
0
Inversion #
Чё-то у меня заглючило с этой веткой.
0
Inversion #
Для нумерации в Firefox я использую GoogleEnhancer. Он ещё полезен подсветкой и кастомными селектами, по этому отказаться от него не могу.

А в комбинации получается двойная нумерация:


У кого тоже такая проблема — нужно закомментировать строчку 51:
h3[0].innerHTML=g_start+'. ' + h3[0].innerHTML;
0
Inversion #
Очень интересно получилось скомбинировать «Cached Text-only» с недавно всплывшим сервисом lab.arc90.com/experiments/readability/.
Я сделал маленький юзерскрипт, чтобы их алгоритм и стиль применялись сразу при открытии такой версии, а чтобы не было запросов на их сервер — сохранил их скрипты и стили у себя.
0
aleksandrit #
> loc:<двухбуквенный_код_страны> — задаёт страну, в которой расположен вебсайт.

В смысле ищет по домену страны? Или как?
0
samlowry #
Да нет, по идее, он относит к стране по ip хостинга, но в итоге, похоже, учитывает и другие параметры. Попробуй — увидишь… Но точно не по домену.
0
Aquary #
> задаёт страну, из которой вы осуществляете вебсёрфинг… «а какие позиции мой сайт имеет в выдаче для Гонолулу».

Гонолулу — это столица Гавайев. Она уже ровно полвека являются штатом США. Поправь на что-нибудь более другое :)
0
Aquary #
Пардон, "*они* являются".
0
samlowry #
Поправил. Для меня шо Гонолулу, шо Зимбабве — всё сплошь экзотические географические названия.

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