Files
docs/i18n/zh-tw/docusaurus-plugin-content-docs/version-1.24/administration/repo-indexer.md
T
2025-09-03 21:00:35 +00:00

51 lines
2.3 KiB
Markdown

---
date: "2023-05-23T09:00:00+08:00"
slug: "repo-indexer"
sidebar_position: 45
aliases:
- /zh-tw/repo-indexer
---
# 存放庫索引器
## 设置存放庫索引器
通過在您的 [`app.ini`](../administration/config-cheat-sheet.md) 中启用此功能,Gitea 可以通過存放庫的文件進行搜索:
```ini
[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` 库](https://github.com/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` 是等效的。