Запросы можно составлять либо с помощью "Query Builder", либо вручную на языке AQL и/или языке регулярных выражений.
Query Builder
Чтобы открыть графический конструктор запросов, нажмите кнопку "Query Builder". Рекомендуется использовать инструмент "Word sequences and meta information". В нём доступны четыре основных раздела: Linguistic Sequence, Scope, Meta information и Toolbar. Выберите нужные Вам корпуса и нажмите на "Initialize" - так вы загрузите все доступные теги корпусов и их значения.

Linguistic sequence
Здесь можно задавать последовательности токенов с определёнными свойствами. При нажатии кнопки "Add" появляется выпадающее окно со всеми тегами в корпусе. Лучше всего выбрать любой лингвистический тег (lemma, msd, norm, pos, tok). Также можно использовать теги "num", "num_value" и "name".
Введите нужное Вам значение (при вводе в качестве подсказки отобразятся возможные варианты). При нажатии на "+" во внутреннем окне, Вы можете написать альтернативное значение тега, которое Вы желаете найти (равносильно оператору ИЛИ). При нажатии на "+" во внешнем окне, Вы можете добавить другой аттрибут токена. Например, при поиске по части речи, Вы можете уточнить запрос с помощью тега морфологической информации msd. Убедитесь, что у каждой части речи правильная запись кода msd (см. Морфологическая разметка). Поле "Regex" означает, что значение тега будет записано на языке регулярных выражений. Поле "Neg. search" делает запрос отрицательным (оператор НЕ). Например, так выглядит запрос "существительное + любая часть речи кроме глагола или прилагательного":

Scope
Здесь можно задать область поиска с помощью структурных тегов. Список структурных тегов можно найти в Формате разметки. Так, например будет выглядеть запрос "словосочетание существительное + прилагательное в цитатах":

Meta information
С помощью мета-тегов можно выбрать конкретные тексты по Id ("id"), названию ("title"), и/или веку ("century"). Теги "morphology" и "text_structure" принимают значение True или False, что означает наличие или отсутствие морфологической и структурной разметки соответственно.

Toolbar
При нажатии на "Create AQL Query", запрос появляется в верхнем-правом окне. Кнопка "Clear the Query Builder" удаляет запрос в поисковом окне.
Составление запросов вручную
ANNIS использует собственный язык запросов ANNIS Query Language (AQL). AQL основан на поиске атрибутов тегов и отношений между ними.
Поиск формулируется через задание элементов. Элемент может быть токеном (текст в кавычках: "житїе" или tok="житїе") либо парой атрибут–значение (например, pos="сущ").
После задания всех элементов необходимо определить отношения между ними, которые должны выполняться. Операторы задают возможные типы пересечения и соседства между аннотациями.
Чтобы искать словоформы в ANNIS, достаточно выбрать корпус и ввести строку поиска в двойных кавычках, например:
Если необходимо учитывать другую флексию, можно либо задать альтернативы с помощью оператора ИЛИ ( | ):
либо использовать регулярные выражения, которые записываются в косых скобках:
Чтобы искать прямую последовательность из нескольких словоформ, укажите элементы через символ & и задайте отношение следования с помощью оператора точки (.):
Выражение #1 . #2 означает, что первый элемент предшествует второму. Также можно использовать сокращённую запись:
Для непрямого следования (между элементами могут находиться другие токены) используется оператор .*:
Можно также задать диапазон расстояния:
Это означает, что слова могут находиться на расстоянии от 1 до 5 токенов. Оператор .* по умолчанию допускает расстояние до 50 токенов, поэтому запись .1,50 эквивалентна .* . Большие расстояния (например, .1,100) следует указывать явно.
Наконец, к запросу можно добавить ограничения по метаданным, чтобы отфильтровать тексты. Теги метаданных связываются с другими элементами с помощью оператора @*:
Поиск по аттрибутам
Аттрибуты можно искать по их имени и значению. Основные теги корпуса: lemma, msd, pos, norm, name, num и num_value Поиск по аннотациям доступен в корпусе SCAT_annotated.
Например, чтобы найти все формы слова "разлучение", выберите корпус SCAT_annotated и введите:
Также возможен отрицательный поиск с использованием "!=" вместо "=". Для отрицательного поиска по токенам (словоформам) используйте специальный аттрибут "tok"
Метаданные также можно отрицать:
Чтобы найти существительное с определёнными морфологическими характеристиками, используйте одновременно аттрибуты "pos" и "msd" и укажите, что они относятся к одному элементу. Это можно сделать с помощью оператора "_=_":
или в сокращённой форме:
Аттрибуты могут относиться не только к одному токену, но и к более длинным отрезкам. Например, тег "q" (цитата) охватывает диапазон токенов. Следующий запрос находит такие фрагменты:
Дополнительные операторы позволяют проверять отношения между аттрибутами. Например, оператор "_i_" (includes) проверяет, включает ли один аттрибут другой. Таким образом, можно найти имена собственные внутри цитат:
Для более подробной информации о составлении запросов и операторах обратитесь к оригинальной документации.
Поиск с использованием регулярных выражений
При поиске словоформ и значений тегов можно использовать подстановочные символы на основе регулярных выражений. Для этого вместо кавычек используются косые скобки.
Например, точка (.) заменяет любой один символ:
Этот запрос найдёт формы "мл҃тва", "мл҃твы", "мл҃твѣ" и т.д.
Можно также делать символы необязательными с помощью знака вопроса (?):
Этот запрос найдёт формы «молити» и «молитисѧ». Также можно задавать количество повторений: символ "*" означает 0 или более вхождений, а "+" — одно или более. Эти символы особенно полезны при поиске по морфологическим характеристикам слова. В теге msd записана грамматические сведения о слове. Эта информация записана в виде кода, который состоит из комбинации элементов, которые описаны в разделе Морфологическая разметка. Для обращения к конкретным элементам кода используется язык регулярных выражений. Например, у словоформы "чл҃колюбїемъ" такой тег msd:
Расшифровка тега: основа на -jo, творительный падеж, единственное число, средний род.
Если мы хотим найти существительные с таким же падежом, числом и родом, а конец основы слова нас не интересует, то запрос будет выглядеть следующим образом:
В позиции типа основы у нас записано выражение ".+", что означает последовательность произвольных символов длиной больше единицы, т.е. любой тип основы.
Давайте поменяем единственное число на двойственное ИЛИ множественное. В скобках записываются значения через оператор ИЛИ ("|"):
Более детальное руководство по использованию языка регулярных выражений можно найти здесь.