diff --git a/modules/indexer/code/bleve.go b/modules/indexer/code/bleve.go
index 4e7eaa21b7..c2d1ed902f 100644
--- a/modules/indexer/code/bleve.go
+++ b/modules/indexer/code/bleve.go
@@ -15,7 +15,6 @@ import (
 	"code.gitea.io/gitea/modules/charset"
 	"code.gitea.io/gitea/modules/git"
 	"code.gitea.io/gitea/modules/graceful"
-	"code.gitea.io/gitea/modules/indexer"
 	"code.gitea.io/gitea/modules/log"
 	"code.gitea.io/gitea/modules/setting"
 	"github.com/ethantkoenig/rupture"
@@ -39,7 +38,7 @@ func InitRepoIndexer() {
 	go func() {
 		start := time.Now()
 		log.Info("Initializing Repository Indexer")
-		indexer.InitRepoIndexer(populateRepoIndexerAsynchronously)
+		initRepoIndexer(populateRepoIndexerAsynchronously)
 		go processRepoIndexerOperationQueue()
 		waitChannel <- time.Since(start)
 	}()
@@ -130,7 +129,7 @@ func updateRepoIndexer(repoID int64) error {
 		return nil
 	}
 
-	batch := indexer.RepoIndexerBatch()
+	batch := RepoIndexerBatch()
 	for _, update := range changes.Updates {
 		if err := addUpdate(update, repo, batch); err != nil {
 			return err
@@ -198,10 +197,10 @@ func addUpdate(update fileUpdate, repo *models.Repository, batch rupture.Flushin
 		// FIXME: UTF-16 files will probably fail here
 		return nil
 	}
-	indexerUpdate := indexer.RepoIndexerUpdate{
+	indexerUpdate := RepoIndexerUpdate{
 		Filepath: update.Filename,
-		Op:       indexer.RepoIndexerOpUpdate,
-		Data: &indexer.RepoIndexerData{
+		Op:       RepoIndexerOpUpdate,
+		Data: &RepoIndexerData{
 			RepoID:  repo.ID,
 			Content: string(charset.ToUTF8DropErrors(fileContents)),
 		},
@@ -210,10 +209,10 @@ func addUpdate(update fileUpdate, repo *models.Repository, batch rupture.Flushin
 }
 
 func addDelete(filename string, repo *models.Repository, batch rupture.FlushingBatch) error {
-	indexerUpdate := indexer.RepoIndexerUpdate{
+	indexerUpdate := RepoIndexerUpdate{
 		Filepath: filename,
-		Op:       indexer.RepoIndexerOpDelete,
-		Data: &indexer.RepoIndexerData{
+		Op:       RepoIndexerOpDelete,
+		Data: &RepoIndexerData{
 			RepoID: repo.ID,
 		},
 	}
@@ -279,7 +278,7 @@ func nonGenesisChanges(repo *models.Repository, revision string) (*repoChanges,
 		// previous commit sha may have been removed by a force push, so
 		// try rebuilding from scratch
 		log.Warn("git diff: %v", err)
-		if err = indexer.DeleteRepoFromIndexer(repo.ID); err != nil {
+		if err = deleteRepoFromIndexer(repo.ID); err != nil {
 			return nil, err
 		}
 		return genesisChanges(repo, revision)
@@ -326,8 +325,8 @@ func processRepoIndexerOperationQueue() {
 		op := <-repoIndexerOperationQueue
 		var err error
 		if op.deleted {
-			if err = indexer.DeleteRepoFromIndexer(op.repoID); err != nil {
-				log.Error("DeleteRepoFromIndexer: %v", err)
+			if err = deleteRepoFromIndexer(op.repoID); err != nil {
+				log.Error("deleteRepoFromIndexer: %v", err)
 			}
 		} else {
 			if err = updateRepoIndexer(op.repoID); err != nil {
diff --git a/modules/indexer/indexer.go b/modules/indexer/code/indexer.go
similarity index 99%
rename from modules/indexer/indexer.go
rename to modules/indexer/code/indexer.go
index 29261c693b..3907a7b57d 100644
--- a/modules/indexer/indexer.go
+++ b/modules/indexer/code/indexer.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a MIT-style
 // license that can be found in the LICENSE file.
 
-package indexer
+package code
 
 import (
 	"os"
diff --git a/modules/indexer/repo.go b/modules/indexer/code/repo.go
similarity index 96%
rename from modules/indexer/repo.go
rename to modules/indexer/code/repo.go
index 841f29acd7..31f0fa7f3d 100644
--- a/modules/indexer/repo.go
+++ b/modules/indexer/code/repo.go
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a MIT-style
 // license that can be found in the LICENSE file.
 
-package indexer
+package code
 
 import (
 	"strings"
@@ -100,8 +100,8 @@ func (update RepoIndexerUpdate) AddToFlushingBatch(batch rupture.FlushingBatch)
 	return nil
 }
 
-// InitRepoIndexer initialize repo indexer
-func InitRepoIndexer(populateIndexer func() error) {
+// initRepoIndexer initialize repo indexer
+func initRepoIndexer(populateIndexer func() error) {
 	indexer, err := openIndexer(setting.Indexer.RepoPath, repoIndexerLatestVersion)
 	if err != nil {
 		log.Fatal("InitRepoIndexer: %v", err)
@@ -173,8 +173,8 @@ func RepoIndexerBatch() rupture.FlushingBatch {
 	return rupture.NewFlushingBatch(indexerHolder.get(), maxBatchSize)
 }
 
-// DeleteRepoFromIndexer delete all of a repo's files from indexer
-func DeleteRepoFromIndexer(repoID int64) error {
+// deleteRepoFromIndexer delete all of a repo's files from indexer
+func deleteRepoFromIndexer(repoID int64) error {
 	query := numericEqualityQuery(repoID, "RepoID")
 	searchRequest := bleve.NewSearchRequestOptions(query, 2147483647, 0, false)
 	result, err := indexerHolder.get().Search(searchRequest)
diff --git a/modules/search/search.go b/modules/search/search.go
index 9b93fe58fb..531d95b187 100644
--- a/modules/search/search.go
+++ b/modules/search/search.go
@@ -11,7 +11,7 @@ import (
 	"strings"
 
 	"code.gitea.io/gitea/modules/highlight"
-	"code.gitea.io/gitea/modules/indexer"
+	code_indexer "code.gitea.io/gitea/modules/indexer/code"
 	"code.gitea.io/gitea/modules/util"
 )
 
@@ -60,7 +60,7 @@ func writeStrings(buf *bytes.Buffer, strs ...string) error {
 	return nil
 }
 
-func searchResult(result *indexer.RepoSearchResult, startIndex, endIndex int) (*Result, error) {
+func searchResult(result *code_indexer.RepoSearchResult, startIndex, endIndex int) (*Result, error) {
 	startLineNum := 1 + strings.Count(result.Content[:startIndex], "\n")
 
 	var formattedLinesBuffer bytes.Buffer
@@ -113,7 +113,7 @@ func PerformSearch(repoIDs []int64, keyword string, page, pageSize int) (int, []
 		return 0, nil, nil
 	}
 
-	total, results, err := indexer.SearchRepoByKeyword(repoIDs, keyword, page, pageSize)
+	total, results, err := code_indexer.SearchRepoByKeyword(repoIDs, keyword, page, pageSize)
 	if err != nil {
 		return 0, nil, err
 	}