Запросы

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

Кроме того, поисковые запросы могут являться аргументы в различных макрокомандах, в качестве параметра которым передаётся список страниц, таких как FullSearch, TitleSearch, FullSearchCached, и PageList.

Оператор

Описание

(пробел между ключевыми словами)

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

`-ЭЛЕМЕНТ`

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

`regex:ЭЛЕМЕНТ`

Элемент поискового запроса обрабатывается как регулярное выражение. МойнМойн использует диалект регулярных выражений, реализованный в языке Python (см. https://docs.python.org/2/library/re.html#regular-expression-syntax для дополнительной информации).

`title:ЭЛЕМЕНТ`

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

`case:ЭЛЕМЕНТ`

Поиск выполняется регистрозависимым.

`linkto:ЭЛЕМЕНТ`

Поиск ссылок на `ЭЛЕМЕНТ`.

`language:КОД-ISO-639-1`

Поиск страниц, написанных на языке, ISO 639-1 код которого укзаан в параметре, например, `en`, `ru`

`category:КатегорияЧтоНибудь`

Поиск страниц, входящих в категорию КатегорияЧтоНибудь.

`mimetype:ТИП`

Поиск страниц и прикреплённых файлов с указанным типом MIME, например, `image/png`
/!\ Поиск по типу MIME имеет ограниченную поддержку во встроенном поиске (работает только для страниц с типом MIME вида `text/<формат>`, где `формат` — значение инструкции #format)

`domain:ЭЛЕМЕНТ`

Указание домена страниц: `domain:underlay` — страницы помощи, `domain:system` — системные страницы.

`no_highlight:ЭЛЕМЕНТ`

Не генерировать регулярное выражение для подсветки `ЭЛЕМЕНТ` на страницах по ссылкам из поисковой выдачи.

`title:`, `regex:`, `linkto:` и `case:`

Могут использоваться в одном элементе поискового запроса.
Данные модификаторы могут быть сокращены до любой длины, например: `re:`, `t:`, `reg:`, `cas:`, `l:`
Если необходимо использовать несколько префиксов, то они объединяются следующим образом: `t:re:ЭЛЕМЕНТ`
Если используется отрицание («`-`»), то оно должно быть помещено перед всеми префиксами.

`OR`

Данный оператор (дизъюнкция) имеет меньший приоритет, чем неявный `AND` (конъюнкция); например, `машина дизель or бензин` найдёт страницы, где содержатся слова «машина» и «дизель», а также страницы, где содержится слово «бензин», вне зависимости от наличия слова «машина» на странице.

`(` и `)`

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

Примеры

Пример

Описание

`title:regex:"^Помощь|Как|Справочник" макрокоманда`

Поиск страниц помощи, содержащих слово «макрокоманда».

`apple (компьютер or "операционная система")`

Поиск страниц, содержащих слово «apple» и одно из «компьютер» или «операционная система».

`windows winamp or linux xmms`

Поиск страниц, содержащих слова «windows» и «winamp», а такде страниц, содержащих слова «linux» и «xmms».

`"то текст"`

В выдачу попадут страницы, содержащие «это текст» и «то тексты». Кавычки используются только для включения пробельных символов.

`linkto:СтраницаWindows title:Linux`

Поиск страниц, содержащих в «Linux» в названии и ссылающихся на СтраницаWindows.

`r:\bсобак\b`

Найдёт страницы, содержащие слово «собак», но не найдёт страницы, содержащие слово «собака».

`помощь -domain:system`

Поиск страниц, содержащих слово «помощь», но не являющихся системными страницами.

`category:КатегорияДомашняяСтраница title:Александр`

Поиск страниц, входящих в категорию КатегорияДомашняяСтраница и имеющих слово «Александр» в названии (персональные страницы людей с именем Александр).

Xapian

Xapian — опционально поддерживаемая поисковая библиотека, генерирующая индекс вики-сайта для уменьшения времени поиска.

См. ПомощьПоXapian для информации о Xapian и его настройке.

Макрокоманды TitleSearch и PageList

Макрокоманды `TitleSearch` и `PageList` принимают в качестве выражения поисковые запросы, при этом к каждому элементу запроса неявно добавляется модификатор title:.