gitea/docs/content/doc/administration/repo-indexer.zh-cn.md
Zettat123 1aa9107fea
zh-cn translation for administration docs (#24881)
- [x] adding-legal-pages
- [x] cmd-embedded
- [x] command-line
- [x] email-setup
- [x] external-renderers
- [x] git-lfs-support
- [x] logging-config
- [x] mail-templates
- [x] repo-indexer
- [x] search-engines-indexation
- [x] signing
2023-05-24 10:35:43 +08:00

64 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
date: "2023-05-23T09:00:00+08:00"
title: "仓库索引器"
slug: "repo-indexer"
weight: 45
toc: false
draft: false
aliases:
- /zh-cn/repo-indexer
menu:
sidebar:
parent: "administration"
name: "仓库索引器"
weight: 45
identifier: "repo-indexer"
---
# 仓库索引器
**目录**
{{< toc >}}
## 设置仓库索引器
通过在您的 [`app.ini`](https://docs.gitea.io/en-us/config-cheat-sheet/) 中启用此功能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 模式匹配来选择要包含在索引中的文件
限制文件列表可以防止索引被派生或无关的文件例如 lsssymmap 污染从而使搜索结果更相关这还有助于减小索引的大小
`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` 是等效的