Forgejo supports code search through an indexer and `git-grep` as a fallback when [`REPO_INDEXER_ENABLED`](../../admin/config-cheat-sheet#indexer-indexer) is disabled.
If `REPO_INDEXER_ENABLED` is set to `false`, the code search function will be limited to a single repository and will use [`git-grep`](https://git-scm.com/docs/git-grep).
Currently, only fixed strings are supported and any case differences are ignored. The search results will include the matched line, along with a single line before and after the match.
Since, the searches are performed on the fly they may be performed on any valid branch or tag.
The active branch/tag will be displayed as the default value on the dropdown present just above the search bar, which may also be used to easily switch between branches and tags.
![Code search results page using indexer](../_images/user/code-search/indexer.png)
For advanced search queries and searching across an entire organisation or instance, `REPO_INDEXER_ENABLED: true` enables code search via bleve/elasticsearch.