Справочник
Язык запросов
Страница сформирована из манифеста шлюза GET /v1/tools
Язык применяется к слою судебной практики: в /v1/practice/search и в слое practice эндпоинта /v1/search – при syntax: "advanced", в /v1/practice/list и /v1/practice/facets – всегда (поле query). Слой норм принимает запрос как свободный текст: операторы к нему не применяются.
Операторы
| Запись | Значение |
|---|---|
слово слово | И (все слова обязательны); окончания любые (морфология) |
ИЛИ или | | Хотя бы одно из условий |
КРОМЕ слово или -слово | Исключить документы со словом |
( ... ) | Группировка условий |
"судебные расходы" | Точная фраза – слова идут подряд |
расходы /5 отчет | В пределах N слов друг от друга (N=1..10), любой порядок; работает между обычными словами и/или "фразами". Точная словоформа !слово и префикс слово* рядом с /N недопустимы |
!оценке | Точная словоформа, как в запросе (морфология отключена) |
расход* | Любое продолжение слова (префикс) |
Параметры
synonyms–true– расширить слова словарем синонимов юридического домена (расходы↔издержки↔затраты, отмена↔отменить и т. п., включая связи частей речи)
Пределы
- Длина запроса – до 1000 символов.
- Условий в запросе – до 32.
- Расстояние в операторе
/N– от 1 до 10 слов. - В перечислении (
/v1/practice/list,/v1/practice/facets) действует отдельный предел сложности – 12 условий; при превышении шлюз предложит сократить запрос или добавить структурные фильтры.
Ошибки
Синтаксическая ошибка дает HTTP 422 с объяснением (запрос не выполняется молча).
Примеры
Все примеры проверены компилятором, который исполняет запросы шлюза.
| Запрос | Что найдет |
|---|---|
кадастровая стоимость | оба слова в любой форме |
оспаривание ИЛИ пересмотр | хотя бы одно из слов |
стоимость КРОМЕ аренда | «стоимость», но без документов со словом «аренда» |
стоимость -аренда | то же, краткая запись исключения |
"судебные расходы" | слова подряд, в любой форме |
"кадастровая стоимость" /5 "налоговая база" | две фразы на расстоянии до пяти слов, в любом порядке |
!оценке | только эта словоформа |
экспертиз* | любое продолжение: «экспертиза», «экспертизой», «экспертизы» |
(расходы ИЛИ издержки) экспертиза | группировка условий |
превышение скорости 40 км/ч | знаки препинания читаются как пробел |
("судебные расходы" ИЛИ расход*) экспертиза /5 отчет КРОМЕ аренда | сочетание операторов из манифеста |
Запросы, которые шлюз отклонит с кодом 422, и текст ошибки:
| Запрос | Почему | Ответ шлюза |
|---|---|---|
КРОМЕ аренда | запрос из одного исключения | запрос не может состоять только из исключения (КРОМЕ) |
аренда ИЛИ -налог | ветвь ИЛИ без положительного требования | запрос не может состоять только из исключения (КРОМЕ) |
(аренда ИЛИ налог) /5 стоимость | группа в скобках рядом с /N | неожиданный элемент: '5' |
!оценка /5 отчет | точная словоформа рядом с /N | /N поддерживается между словами и "фразами"; для «!точной формы» и «префикса*» рядом с /N используйте обычное слово или фразу |
расход* /5 отчет | префикс рядом с /N | /N поддерживается между словами и "фразами"; для «!точной формы» и «префикса*» рядом с /N используйте обычное слово или фразу |
стоимость /11 аренда | N вне допустимого диапазона | /N: N должно быть 1..10, получено 11 |
стоимость - аренда | дефис в окружении пробелов | не разобран фрагмент запроса: '- аренда'. Допустимы слова, "фразы в кавычках", операторы И/ИЛИ/КРОМЕ, скобки, /N, !форма, префикс* |
Правила
- Advanced-поиск по умолчанию ранжирует по лексической релевантности;
sort=dateявно включает свежесть. Вектор в операторный advanced-поиск не домешивается. /Nсоединяет только обычное слово или"фразу"; группа в скобках, точная словоформа!словои префиксслово*рядом с/N– синтаксическая ошибка (422):(а ИЛИ б) /5 в,!а /5 виа* /5 вневалидны,а /5 ви"а б" /5 ввалидны.- Знаки препинания в
queryдопустимы и читаются как пробел (= И): «расходы, экспертиза»,40 км/ч,1/2 доли, «стоимость?» валидны, экранировать их не нужно. Исключения: дефис значим всегда (-слово= КРОМЕ, «северо-западный» = фраза; дефис в окружении пробелов – синтаксическая ошибка, а не «минус»), а точка внутри слова остается его частью («кв.м», «ст.22» ищутся как одна лексема). Технический мусор (;=<>${) по-прежнему 422 – это защита от подстановок, а не придирка к тексту. - Запрос обязан содержать хотя бы одно положительное требование, причем в каждой ветви
ИЛИ:стоимость КРОМЕ арендавалидно,КРОМЕ арендаиаренда ИЛИ -налог– 422. Такие запросы означают «весь корпус минус что-то» и возвращали бы почти всю базу с честнымtotal. - Единица совпадения зависит от инструмента: в
/v1/practice/listи/v1/practice/facetsслова через И ищутся по всему акту («акт упоминает и то, и другое» – слова могут стоять в разных частях текста), КРОМЕ означает «слова нет в акте нигде», а"фраза"и/Nпо-прежнему требуют близости внутри одного фрагмента. В/v1/searchи/v1/practice/searchединица – сам фрагмент: выдержка обязана содержать найденное. query– операторный язык, а не вопрос на естественном языке: целое предложение уходит в И по всем словам и почти всегда дает ноль. Вопрос целиком отправляйте в/v1/answerили/v1/research; в/v1/practice/listпередавайте 2–4 значимых слова, «фразы» и фильтры.