Клуб Яндекс.Поиска для сайта

Как искать в URL до определённого уровня?

filyus.ru
18 января 2013, 10:21

Есть URL вида: http://ya.ru/b/c/fixed/*

В результатах нужны только http://ya.ru/b/c/ - без страниц /fixed/

Можно ли искать только до определённого уровня или исключать любую часть URL из поиска? 

Если нет, то можете ли добавить возможность? Было бы очень здорово.

7 комментариев
Подписаться на комментарии к посту
Вульбрун Дмитрий
18 января 2013, 10:23

В область поиска на добавляете

http://ya.ru/b/c/

А в блоке "Исключения" добавляете

http://ya.ru/b/c/fixed/

 

Все будет работать.

 

Проблема в том, что есть много адресов вида:

http://ya.ru/b/c/

http://ya.ru/b/c/fixed/*

http://ya.ru/b/d/

http://ya.ru/b/d/fixed/*

http://ya.ru/b/e/

http://ya.ru/b/e/fixed/*

и т.д.

неозможно их всех добавить.

Вульбрун Дмитрий
18 января 2013, 12:34

То есть идеальный для вас вариант - исключить урлы вида */fixed/*, верно?

Такой возможности пока нет, но мы об этом думаем. Возможно, она появится в обозримом будущем.

Нет, этот вариант для меня хороший, но не идельный.

Идеальный - ограничение по уровню

http://ya.ru/фиксированная _часть_URL/*?/

где *? соответствует одному уровню

или даже так:

http://ya.ru/фиксированная _часть_URL/\d+/$ 

где  \d+ это любое число, $ - конец строки

Вульбрун Дмитрий
18 января 2013, 13:12

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

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

О чём я вообще прошу...
Сделайте хотя бы чтобы звёздочки в исключениях нормально работали.

 Пример. Область поиска:

http://www.ya.ru/a/
Исключения:

http://www.ya.ru/a/*/b/*
http://www.ya.ru/la/*/c/*
http://www.ya.ru/a/*/d/*

Исключения не срабатывают правильно..

Вульбрун Дмитрий
23 января 2013, 18:20

Пока такой возможности нет. Пока я могу посоветовать вам использовать пользовательские уточнения и там написать конструкцию вида

 

 ~~ inurl:словодляисключения

 

Эта конструкция уберет из поиска все документы c заданным словом в URL. И не забудьте пробел после оператора "~~", иначе работать не будет.

 

Вы можете указать, чтобы данное уточнение было выбрано в форме поиска сразу по-умолчанию. Для этого необходимо в JS параметры кода формы поиска добавить параметр constraintidсо значением ID данного уточнения. Узнать это значение вы можете, включив его в результатах поиска и посмотрев на URL страницы. Например, там будет &constaintid=10. Тогда в орму поиска добавляете JS параметр

'constraintid': '10'

 

Мы со своей стороны подумаем, как можно использовать исключения урлов из области поиска c алгоритмом ~~ inurl: