Язык поисковых запросов на сайте Камелот

Для задания дополнительных параметров поиска можно воспользоваться языком поисковых запросов. По умолчанию поиск осуществляется с учетом словоформ и синонимов, слова ищутся в любом порядке, а знаки препинания и регистр символов игнорируются.

Запрос: Будут найдены:
  • дом
Объявления, содержащие слово «дом», его синоним «недвижимость», а также словоформы «дома», «дому», «недвижимости» и т. п. Объявления, содержащие в себе искомое слово, но не являющиеся его словоформой, найдены не будут. Например, не будут найдены слова «домовой», «домоводство» и т. п.

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

Логические операторы

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

Языком поисковых запросов поддерживаются следующие логические операторы:

И — обозначается амперсандом (символ «&»), словом «и» или словом «and». Ставится между словами и означает, что каждое из слов должно присутствовать в результатах поиска.

Запрос: Будут найдены:
  • однокомнатную & кв-ру
  • однокомнатную и кв-ру
  • однокомнатную and кв-ру
Объявления, содержащие оба слова «однокомнатную» и «кв-ру». Порядок слов значения не имеет.

ИЛИ — обозначается вертикальной палочкой (символ «|»), словом «или» или словом «or». Ставится между словами и означает, что хотя бы одно из слов должно присутствовать в результатах поиска.

Запрос: Будут найдены:
  • квартира | дом
  • квартира или дом
  • квартира or дом
Объявления, содержащие хотя бы одно из слов «квартира» или «дом»: «кв-ру», «дом», «дома», «дому», «недвижимость», «недвижимости».

НЕ — обозначается минусом (символ «-»). Ставится перед словом и означает, что слово должно отсутствовать в результатах поиска. Для слов, перед которыми стоит оператор НЕ, всегда используется оператор И.

Запрос: Будут найдены:
  • квартира -однокомнатная
Объявления, содержащие слово «квартира» и при этом не содержащие слово «однокомнатная».

Если в запросе не указан ни один из операторов, то используется оператор И.

Запрос: Будут найдены:
  • бухгалтер требуется
Объявления, содержащие «бухгалтер» и «требуется».

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

Запрос: Будут найдены:
  • красный или синий ваз
Объявления, содержащие слова «красный» или «синий», а также слово «ваз».

Для задания более сложной логики слова могут группироваться с помощью скобок, и в этом случае приоритет операторов регулируется скобками.

Запрос: Будут найдены:
  • администратор | (оператор & пк)
Объявления, содержащие слово «администратор» или одновременно слова «оператор» и «пк».
  • (квартира | дом) -центр
Объявления, не содержащие слово «центр» и при этом содержащие слова «квартира» или «дом».

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

Запрос: Будут найдены:
  • однокомнатная -(ваи машмет)
Объявления, не содержащие слов «ваи» и «машмет» и при этом содержащие слово «однокомнатная».

Кавычки

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

Запрос: Будут найдены:
  • 'лоджии застеклены'
Объявления, содержащие фразы «лоджии застеклены», «лоджии, застеклены», но не содержащие фразы «лоджия застеклена», «лоджия застекл.».
  • 'работы, соцпакет.'
Объявления, содержащие фразы «работы, соцпакет.», «работы. Соцпакет.».

Операторы для управления поиском вариантов написания слова

Есть ряд операторов, позволяющих изменить стандартную работу поискового механизма в части определения вариантов написания слова. Эти операторы ставятся перед словом без пробела.

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

Запрос: Будут найдены:
  • !дом
Объявления, содержащие только слово «дом», причем только если оно соответствует целому слову.

Оператор ^ указывает, что для слова не нужно находить синонимы. Словоформы же участвуют в поиске наравне с исходным словом.

Запрос: Будут найдены:
  • ^продавец
Объявления, содержащие слово «продавец», а также его словоформы «продавцы», «продавцов» и т. п., причем только если они соответствуют целым словам.

Оператор * указывает, что заданная последовательность символов не обязательно является целым словом. В этом случае не находятся ни синонимы, ни словоформы. При этом в результатах поиска заданное слово может являться частью других слов. Может использоваться не только перед словом, но также после или даже внутри слова. В любом из этих случаев на месте звездочки может идти любое количество других символов.

Запрос: Будут найдены:
  • *дом
  • дом*
Объявления, содержащие подстроку «дом»: «дом», «домовой», «управдом», «домкрат». Словоформы и синонимы учитываться при поиске не будут.
  • по*ка
Объявления, содержащие подстроку «по», за которой следует любое количество любых символов, а затем подстрока «ка». Например: «пока», «почка», «подкат», «портрет пушкина мелками».

Перечисленные операторы могут также употребляться перед скобками. Тогда они будут распространяться на каждое слово, стоящее внутри скобок.

Специальные возможности

Поиск номера телефона

Язык поисковых запросов допускает задание номера телефона в произвольном виде. Номером телефона будет считаться набор цифр, количество которых соответствует количеству цифр в номере телефона. При этом цифры могут быть разделены скобками или дефисами. Начинать номер можно как с цифры 8, так и с '+7', а можно не указывать ни то, ни другое. Код города или код мобильного оператора связи можно указывать, а можно опустить. В любом случае номер телефона будет преобразован в стандартный формат и будет успешно найден.

Запрос: Будут найдены:
  • 89155405617
  • 8-915-540-56-17
  • 227-11-49
  • +7(915)5405617
Объявления и организации, содержащие номера телефонов: 8-915-540-56-17 и 227-11-49.

Сложные запросы

Запрос: Будут найдены:
  • ВАЗ-2110 '1998 г. в.' '85 тыс. р.'
    (цв. -синий) продаю
Объявления, содержащие «ВАЗ-2110» и «1998 г. в.» и «85 тыс. р.» и «продаю» и «цв» и не содержащие «синий».
  • администратор офис -!'в/о' -'без опыта'
Объявления, содержащие «администратор» и «офис» и одновременно не содержащие «в/о» и «без опыта».



Если что-то в описании языка поисковых запросов показалось вам непонятным, напишите нам.