Индексация файлов репозитория#
SourceControl может осуществлять поиск по файлам репозитория с учетом настроек, заданных в app.ini:
[indexer]
; ...
REPO_INDEXER_ENABLED = true
REPO_INDEXER_PATH = indexers/repos.bleve
MAX_FILE_SIZE = 1048576
REPO_INDEXER_INCLUDE =
REPO_INDEXER_EXCLUDE = resources/bin/**
Обратите внимание
Индексирование файлов может отнимать много ресурсов, особенно когда индекс создается впервые или глобально обновляется (например, после обновления SourceControl).
Выбор файлов для индексации по размеру#
Опция MAX_FILE_SIZE позволяет не индексировать файлы больше указанного значения.
Выбор файлов для индексирования по пути#
Для определения индексируемых файлов SourceControl применяет сопоставление шаблонов glob-файлов из gobwas/glob библиотеки.
Ограничение списка индексируемых файлов предотвращает «загрязнение» найденными/нерелевантными файлами, так что результаты поиска становятся более точными. Также это уменьшает размер индекса.
REPO_INDEXER_INCLUDE (по умолчанию: пусто) — это список glob-шаблонов в формате CSV, которые нужно индексировать. Пустое значение параметра означает индексирование всех файлов.
REPO_INDEXER_EXCLUDE (по умолчанию: пусто) — это список glob-шаблонов в формате CSV, которые не нужно индексировать. REPO_INDEXER_EXCLUDE имеет приоритет над REPO_INDEXER_INCLUDE.
REPO_INDEXER_EXCLUDE_VENDORED (по умолчанию: true) исключает индексирование файлов сторонних приложений (имеются в виду вендорские решения, использующиеся программами, которые пользователь хранит в репозитории).
Сопоставление шаблонов происходит следующим образом:
Для сопоставления всех файлов с расширением
.txtвне зависимости от каталога используйте**.txt.Для сопоставления всех файлов с расширением
.txtтолько на уровне корня репозитория используйте*.txt.Для сопоставления всех файлов внутри
resources/binи ниже используйтеresources/bin/**.Для сопоставления всех файлов сразу внутри
resources/binиспользуйтеresources/bin/*.Для сопоставления всех файлов под названием
Makefileиспользуйте**Makefile.Сопоставление каталога безрезультатно; шаблон
resources/binне будет включать/исключать файлы внутри этой директории; используйте для этогоresources/bin/**.Все файлы и шаблоны нормализованы к нижнему регистру, поэтому значения
**Makefile,**makefileи**MAKEFILEравны.