Использование библиотеки Xapian позволяет значительно увеличить скорость работы поиска и даёт ряд дополнительных функциональных преимуществ, недоступных при использовании встроенного механизма поиска.

Настройка

Зависимости

Для работы поиска необходимо иметь установленными в системе собственно библиотеку Xapian и биндинги для языка Python (пакеты xapian-core и xapian-bindings), доступные на сайте http://www.xapian.org/, версии не ниже 1.0.6. Кроме того, пользователям Windows также придётся установить pywin32, доступный на сайте http://sourceforge.net/projects/pywin32/.

Для обработки прикреплённых файлов МойнМойн использует дополнения-фильтры (filter plugins). Ниже представлен список включённых в дистрибутив МойнМойн фильтров:

Тип файла

Зависимость

Примечания

Текстовые файлы (.txt)

Фильтр пытается использовать кодировки UTF-8 и ISO-8859-1 (или ASCII в случае, если предыдущие попытки оказались неудачны)

Изображение JPEG (.jpg)

Извлекаются данные EXIF

Файлы OpenOffice.org 1.x (.sx?)

Формат файлов, использовавшийся в старых версиях OpenOffice.org/StarOffice

Файлы в формате Open Document Format (.odt, .ods, .odp, ...)

Формат файлов, использующийся в новых версиях OpenOffice.org/StarOffice

Бинарные файлы

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

Файлы MS Word (.doc)

antiword

Фильтр вызывает antiword

Файлы MS Excel (.xls)

catdoc

Фильтр вызывает xls2csv

Файлы MS Powerpoint (.ppt)

catdoc

Фильтр вызывает catppt

Файлы PDF (.pdf)

xpdf-utils или poppler-utils

Фильтр вызывает pdftotext

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

Конфигурация

В конфигурации вики имеется ряд параметров, отвечающих за конфигурацию Xapian (в комментариях доступен перевод данной таблицы):

Xapian search

Configuration of the Xapian based indexed search, see HelpOnXapian.

Имя переменной По умолчанию Описание
xapian_index_dir None Directory where the Xapian search index is stored (None = auto-configure wiki local storage)
xapian_index_history False True to enable indexing of non-current page revisions.
xapian_search False True to enable the fast, indexed search (based on the Xapian search library)
xapian_stemming False True to enable Xapian word stemmer usage for indexing / searching.

(Повторная) генерация индекса

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

Для (повторной) генерации индекса достаточно выполнить

moin --config-dir=/путь/к/каталогу/конфигурации/вики --wiki-url=url-вики/ index build --mode=rebuild

Подробнее о команде moin index см. на странице ПомощьПоКомандамМойн.

/!\ Перестройка индекса обязательна в случае изменения значения хотя бы одного из параметров xapian_index_history, xapian_index_dir или xapian_stemming конфигурации.

Тестирование

Проверить возможность использования Xapian и доступность индекса можно на странице SystemInfo. Для проверки, выполняется ли поиск с использованием Xapian, достаточно включить параметр show_timings («показывать время выполнения») в конфигурации вики, выполнить поисковой запрос и проверить наличие записи _xapianSearch в нижней части страницы.

Использование

Поиск с использованием Xapian аналогичен использованию других поисковых серверов. В связи с наличием развитых поисковых возможностей у Xapian, добавлен ряд новых элементов синтаксиса поисковых запросов, на данный момент не поддерживаемых встроенным поисковым движком (обычно называемым «moin search» — поиском Мойн). Для дополнительной информации см. КакИскать и/или новый расширенный диалог поиска, доступный на странице НайтиСтраницу, чтобы узреть, что стало доступно и возможно.