跳至主要内容
版本:1.24.6

存放庫索引器

设置存放庫索引器

通過在您的 app.ini 中启用此功能,Gitea 可以通過存放庫的文件進行搜索:

[indexer]
; ...
REPO_INDEXER_ENABLED = true
REPO_INDEXER_PATH = indexers/repos.bleve
MAX_FILE_SIZE = 1048576
REPO_INDEXER_INCLUDE =
REPO_INDEXER_EXCLUDE = resources/bin/**

請记住,索引内容可能会消耗大量系统资源,特别是在首次建立索引或全局更新索引时(例如升级 Gitea 之后)。

按大小選择要索引的文件

MAX_FILE_SIZE 選项将使索引器跳過所有大于指定值的文件。

按路径選择要索引的文件

Gitea 使用 gobwas/glob 中的 glob 模式匹配来選择要包含在索引中的文件。

限制文件列表可以防止索引被派生或無关的文件(例如 lss、sym、map 等)污染,从而使搜索结果更相关。这還有助于减小索引的大小。

REPO_INDEXER_EXCLUDE_VENDORED(默认值為 true)将排除供應商文件不包含在索引中。

REPO_INDEXER_INCLUDE(默认值為空)是一个逗号分隔的 glob 模式列表,用于在索引中包含的文件。空列表表示“包含所有文件”。 REPO_INDEXER_EXCLUDE(默认值為空)是一个逗号分隔的 glob 模式列表,用于从索引中排除的文件。与該列表匹配的文件将不会被索引。REPO_INDEXER_EXCLUDE 优先于 REPO_INDEXER_INCLUDE

模式匹配工作方式如下:

  • 要匹配所有带有 .txt 扩展名的文件,無论在哪个目錄中,請使用 **.txt
  • 要匹配僅在存放庫的根级别中具有 .txt 扩展名的所有文件,請使用 *.txt
  • 要匹配 resources/bin 目錄及其子目錄中的所有文件,請使用 resources/bin/**
  • 要匹配位于 resources/bin 目錄下的所有文件,請使用 resources/bin/*
  • 要匹配所有名為 Makefile 的文件,請使用 **Makefile
  • 匹配目錄没有效果;模式 resources/bin 不会包含/排除該目錄中的文件;resources/bin/** 会。
  • 所有文件和模式都规范化為小写,因此 **Makefile**makefile**MAKEFILE 是等效的。