Книга: IT-рекрутмент: Как найти лучших специалистов, когда все вокруг горит
Назад: Глава 15. Основные принципы сорсинга
Дальше: Глава 17. Рекрутмент в соцсетях
Глава 16

Boolean search

Должен признаться, что эта тема — моя любимая. Она одновременно и очень легкая, и очень сложная. Легкая, потому что преимущественно булев поиск (он же boolean search) — это про внимательность, элементарную логику и эксперименты. Сложная же, представьте, по той же причине: именно невнимательность нас чаще всего и подводит, подталкивая к ложному выводу о том, что булев поиск не работает.

Что же такое boolean search? Термин этот получил свое название от фамилии английского математика Джорджа Буля. И хотя он внес определенный вклад, в частности, и в развитие дифференциальных уравнений, сейчас я это упомянул, просто чтобы вас напугать. По факту булев поиск для нас — это поиск по базам данных с помощью специализированных логических операторов. И я не зря выделяю слово «логических», потому что для написания булевых запросов действительно понадобится логика. Теперь же давайте подробнее.

У поисковых систем вроде «Яндекса» и Google есть свои базы данных. Для того чтобы к ним обратиться, можно написать обычный словесный запрос: «резюме программистов из Москвы». И поисковики покажут нам определенный результат. Но у каждого из них есть свои логические операторы, которые помогут уточнить поиск и сделать его более управляемым. Казалось бы, зачем нам управлять поисковиком? А затем, что, по моему скромному мнению, поисковики движутся к тому, чтобы предугадывать наши с вами действия и желания. Поисковики зачастую умнее нас. Но иногда их «ум» приносит лишь горе. Например, если мы напишем тот самый словесный запрос — «резюме программистов из Москвы», то, скорее всего, получим выборку карьерных сайтов, так как там содержится наиболее релевантная информация. Поисковики как бы предполагают за нас, что именно эта информация нам и нужна. Но, к сожалению, это не всегда так, ведь в интернете огромное множество резюме хранятся не на job-бордах. К тому же не всегда у нас такой доступ к job-бордам есть. («Ты что же, Егор, хочешь сказать, что не все компании оплачивают доступ к ним?» — «Да-да, дружок, российский бизнес порой суров».)

Но, несмотря на это, нам нужно продолжать использовать поисковики, только делать это с умом. И как раз для этого нам понадобятся те самые булевы операторы. Важно учитывать, что у каждого поисковика эти операторы свои, но в целом они похожи. У каждого поисковика есть своя документация, описывающая, как эти операторы работают. Мы с вами будем рассматривать Google.

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

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

По этой причине ваш булев запрос всегда нужно проверять. Если этого не делать, можно просто прийти к выводу, что булев поиск не работает в принципе, а это будет большим заблуждением.

Теперь же поговорим наконец об основных операторах поиска, которые нам понадобятся в работе.

Оператор

Значение

Комментарий

OR или |

Ищет хотя бы одно из указанных слов

Пишется всегда большими буквами

" " (кавычки)

Ищет точную фразу, указанную последовательность «закавыченных» слов

Именно " " (кавычки-гвоздики), а не « »

-

Исключает из поисковой выдачи результаты

Минус пишется слитно со словом, которое хотим минусовать

site:

Ищет на конкретном сайте

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

filetype:

Ищет файлы определенного типа

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

intitle:

Ищет указанное слово/словосочетание в заголовке

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

inurl:

Ищет указанное слово/словосочетание в URL-адресе страницы

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

 

Давайте попробуем составить простой запрос и напишем в поисковике: резюме php программист. Google по умолчанию воспринимает пробелы как «и», то есть он ищет страницы, на которых есть все три указанных слова. При этом, если вдруг какого-то из слов не будет, Google смело покажет нам результат, предполагая, что именно он нам и нужен (мы ведь не писали никаких операторов). В целом Google очень умный, и он пытается прогнозировать, что мы с вами ищем, и может подбрасывать те результаты, которые ему кажутся логичными, при этом они не будут содержать одного из указанного нами слов. Раньше был актуален оператор AND, который как бы заставлял Google искать все слова, но сейчас в официальной документации этого оператора нет, поэтому не советую его использовать.

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

Но что делать, если мы не хотим смотреть только на job-борды? Несмотря на то, что там действительно находится огромное количество резюме (когда я прихожу в компании обучать их рекрутменту, почти во всех компаниях отвечают, что не меньше 80% их найма приходится на ), порой бывают ситуации, когда нам нужно увидеть чуть больше. Например, нам нужен редкий специалист и все job-борды мы уже перерыли. Давайте тогда попробуем исключить их из выдачи. Для начала прямо так и напишем: -hh.ru -superjob.ru -careerist.ru -rabota.ru -trud.com -rabota.ua -farpost.ru -work.ua -domkadrov.ru.

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

Давайте попробуем тогда добавить локацию в наш запрос. А еще добавим синоним слова «программист» и напишем заодно на английском «developer». В итоге наш запрос выглядит так: резюме php программист OR developer москва -hh.ru -superjob.ru -careerist.ru -rabota.ru -trud.com -rabota.ua -farpost.ru -work.ua -domkadrov.ru.

Кстати, по поводу синонимов должностей. Сейчас всё чаще говорят, что писать синонимы должностей не надо, Google сам умеет находить их. Я в этом вопросе считаю, что лучше самостоятельно тестировать запросы без синонимов и с ними и смотреть на результат. В каких-то случаях Google действительно справляется лучше, в каких-то нет. Не стоит доверять какой-либо информации на 100%, даже этой книге, лучше самому проверить и получить свой опыт!

К сожалению, после этого в нашей выдаче наверху появилось большое количество вакансий, что нам не нужно. Попробуем исключить их: резюме php программист OR developer москва -вакансия -вакансии -job -jobs -hh.ru -superjob.ru -careerist.ru -rabota.ru -trud.com -rabota.ua -farpost.ru -work.ua -domkadrov.ru.

Резюме действительно стало больше. Теперь давайте попробуем сделать так, чтобы Google нам находил точную фразу «php программист» или «php developer», а не эти слова по отдельности. Для этого нам придется взять эти фразы в кавычки. В итоге наш запрос будет выглядеть так: резюме "php программист" OR "php developer" москва -вакансия -вакансии -job -jobs -hh.ru -superjob.ru -careerist.ru -rabota.ru -trud.com -rabota.ua -farpost.ru -work.ua -domkadrov.ru.

Обратите внимание, что кавычки я ставлю именно "гвоздики", а не «елочки», так как оператором являются именно "гвоздики"!

Что ж, в этом запросе встречается как минимум три булевых оператора: кавычки, OR и минус. Давайте теперь попросим Google поискать слово «резюме» в заголовках страниц. Для этого так и напишем в начале запроса: intitle:резюме.

Выдача стала еще более точной. Давайте попробуем поискать слово «резюме» не в заголовке, а в URL. Тогда и написать его лучше на английском. Убираем intitle:резюме и вместо этого пишем inurl:cv. Хотя в последнее время Google стал неплохо искать и кириллицу в URL-адресах.

Тоже неплохо. На самом деле мы можем с вами даже оставить оба этих оператора и попросить Google искать в заголовках страниц слово «резюме» (заголовки на данном скриншоте более крупные, на экране они синие), а в URL-адресе искать слово «cv» (URL здесь указан наверху над заголовком, серым цветом и более мелким шрифтом). В итоге наш запрос выглядит так: inurl:cv OR intitle: резюме "php программист" OR "php developer" москва -вакансия -вакансии -job -jobs -hh.ru -superjob.ru -careerist.ru -rabota.ru -trud.com -rabota.ua -farpost.ru -work.ua -domkadrov.ru.

Его можно еще уточнять, но важно помнить, что длина запроса сейчас не может превышать 32 слова. То есть если в нашем запросе слов будет больше, Google так и напишет: «запрос превышает максимальную длину, мы не учитываем ничего после …».

Но у нас еще остались два оператора, которые мы не использовали. Начнем с оператора filetype: он ищет по определенному типу файла. Если взять наш запрос, в котором мы ищем резюме, то нужно подумать о том, какими же могут быть резюме, в каком формате кандидаты могут их выкладывать? Чаще всего кандидаты используют форматы docx и pdf. Так и напишем: filetype:docx OR filetype:pdf OR filetype:doc.

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

Булев поиск — это кропотливая и въедливая работа, которая может принести потрясающие результаты, которых иначе было бы достичь очень трудно. Главное — не сдаваться.

Существует три наиболее распространенные ошибки при написании запроса, которые приносят неверные результаты. Отсюда и три правила:

Остался всего один оператор, который мы с вами не использовали, а следовало бы. Это оператор site:. Он помогает искать на конкретном сайте, то есть мы можем указать Google, где мы хотим найти эту информацию, приказать ему искать на одном конкретном ресурсе, а не во всем интернете. Такие запросы еще часто называют X-Ray. Например, если я напишу: site:facebook.com "системный аналитик" самара, Google покажет мне все страницы Facebook, на которых встречается словосочетание «системный аналитик» и слово «самара». Но там будут не только страницы людей, но и страницы компаний, непосредственно посты, посты в группах — в общем, много личного. Чтобы оставить в выдаче только профили людей, нужно будет постараться, но об этом я расскажу дальше.

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

Мы разобрали, как найти файлы нужного нам типа, страницы с определенными заголовками. И если вы научитесь уточнять запросы и управлять тем, как Google ищет, вы сможете получать в выдаче именно то, что вам нужно.

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

Важно помнить: я разобрал, как пишутся запросы, на конкретных примерах. Например, мы минусовали много разных слов — superjob, hh и др. Это только пример, и он не означает, что эти слова надо минусовать каждый раз. Все зависит от задачи. На этом примере важно понять саму логику построения запроса:

Одной универсальной рекомендации, как создать правильный запрос, к сожалению, не существует. Существуют подборки запросов, которые вы можете найти в интернете (например, в моем телеграм-канале Boolean Search Hacks), скопировать и вставить в поиск, но для рекрутера намного важнее понять логику, самому научиться писать запросы. И тогда вы сможете искать что угодно и где угодно.

Основные ошибки

Булев поиск — это инструмент, для которого критически важно быть внимательным, кропотливым и въедливым. Надо сидеть, ковыряться, разбираться и не бояться ошибок. Просто закинуть ключевые слова по принципу «и так сойдет» — не получится. Зато такая кропотливая работа дает отличные результаты.

Например, булев поиск — это на текущий момент единственный способ обработки Facebook и поиска кандидатов в этой соцсети. А для многих позиций, например для поиска специалистов топ-уровня, Facebook — отличный ресурс, и его не следует недооценивать.

Однако булев поиск — это своеобразное «бутылочное горлышко», через которое не проходят многие рекрутеры. И причина тому — синтаксические и логические ошибки. Рекрутеры пробуют, пишут с ошибками, не могут найти эти ошибки — и приходят к выводу, что инструмент бесполезен. «Буду искать по старинке», — решают они. И это то, с чем нужно бороться.

Как я уже говорил ранее, для булева поиска особенно важен правильный синтаксис. Есть три наиболее распространенные синтаксические ошибки, которые делают новички:

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

Какие еще ошибки критичны? Логические.

Очень часто люди, которые только начинают осваивать булевы запросы, грубо говоря, сравнивают теплое с мягким. Мы говорим: «красивый мягкий стул», и в данном случае «красивый» и «мягкий» — это все определения, которые нам необходимы. «Теплый» будет не в тему. При формировании запроса такие определения важно найти и правильно объединить.

Приведу пример. Вы хотите найти URL-адреса, в которых есть слово cv или resume. Вы пишете inurl:cv OR resume. Что понимает из этого запроса Google? Он видит оператор inurl: и говорит: «Хорошо, я ищу в URL-адресе слово cv». А дальше написано OR resume, и он не понимает: а resume где искать? В тексте страницы, в URL, в заголовке? Так как перед словом resume нет специальных операторов, он начинает искать его везде.

Получается, что мы говорим Google: найди мне, пожалуйста, либо в URL-адресе страницы слово cv, либо где-нибудь вообще слово resume. И, естественно, в выдаче мы получаем совсем не то, что ожидали. Какие-нибудь статьи о том, как прокачать резюме, или инструкцию к телевизору, на пульте которого есть кнопка resume. Потому что формально слово resume в них и правда встречается. Но это не совсем то, что нам нужно.

Если мы хотим использовать оператор OR в поиске в заголовках, или в типах файла, или в URL-адресах, мы каждый раз прописываем перед словом необходимый оператор. Например, в предложенном примере правильным будет такой запрос: inurl:cv OR inurl:resume.

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

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

Какой запрос не содержит ошибок?

  1. site: vk.com php программист OR php developer москва
  2. site:vk.com "php программист" OR "php developer" москва

А тут какой запрос без ошибок?

  1. inurl:portfolio OR inurl:портфолио ux-дизайнер казань
  2. Inurl:portfolio OR портфолио ux-дизайнер казань

Ну и последний. Где нет ошибок?

  1. Site:facebook.com аналитик самара
  2. site: facebook.com аналитик самара

Особенности X-Ray-запросов

Как мы помним, X-Ray — это частный случай Boolean search. Мы создаем X-Ray-запрос с помощью оператора site: и таким образом ищем информацию на каком-то одном ресурсе. X-Ray в переводе с английского означает «рентген», и этот запрос как будто просвечивает рентгеновскими лучами какой-то конкретный сайт.

X-Ray-запросы писать не сложнее, но и не легче, чем обычные. По сути, правила все те же. Но есть несколько нюансов.

Например, если мы начнем использовать X-Ray-запросы для того же Facebook — будем искать, предположим, «аналитик самара», — то мы обнаружим в выдаче и сообщения о вакансиях, и посты в группах или профилях. Это значит, что мы недостаточно уточнили запрос.

Чтобы написать X-Ray-запрос, нам нужно найти какую-то зацепку, уловку, которая позволит найти именно профили людей, которые нам нужны. В соцсетях, на форумах или на других ресурсах, где общаются нужные нам специалисты, мы, как правило, не хотим читать все блоги и обсуждения. Нам нужны именно профили людей, в которых будет указана информация о них.

Для написания X-Ray-запроса надо найти какой-то специфический признак, характерный для выбранной социальной сети, — какое-то слово, которое встречается только в профилях людей. Какие могут быть зацепки? Вот несколько примеров.

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

Такие запросы можно делать по любому ресурсу в интернете, если только этот ресурс не скрывает данные от сторонних пользователей. А таких ресурсов немало. Один из примеров — . База их резюме — это то, что они продают рынку, поэтому они тщательно скрывают и определенный процент самих резюме, и контакты специалистов. Когда вы пишете запрос по ресурсу , то получаете определенное количество резюме, но без контактов, то есть только то, что ресурс позволяет вам увидеть.

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

Назад: Глава 15. Основные принципы сорсинга
Дальше: Глава 17. Рекрутмент в соцсетях