diff --git a/internal/postgres/search.go b/internal/postgres/search.go
index 56376bb..fc788ed 100644
--- a/internal/postgres/search.go
+++ b/internal/postgres/search.go
@@ -1088,7 +1088,7 @@
 		}
 
 		// Delete all of those paths.
-		return deleteModuleFromSearchDocuments(ctx, tx, modulePath, ppaths)
+		return deleteModuleOrPackagesInModuleFromSearchDocuments(ctx, tx, modulePath, ppaths)
 	})
 }
 
@@ -1111,12 +1111,12 @@
 			otherPkgs = append(otherPkgs, p)
 		}
 	}
-	return deleteModuleFromSearchDocuments(ctx, tx, m.ModulePath, otherPkgs)
+	return deleteModuleOrPackagesInModuleFromSearchDocuments(ctx, tx, m.ModulePath, otherPkgs)
 }
 
-// deleteModuleFromSearchDocuments deletes module_path from search_documents.
-// If packages is non-empty, it only deletes those packages.
-func deleteModuleFromSearchDocuments(ctx context.Context, tx *database.DB, modulePath string, packages []string) error {
+// deleteModuleOrPackagesInModuleFromSearchDocuments deletes module_path from
+// search_documents. If packages is non-empty, it only deletes those packages.
+func deleteModuleOrPackagesInModuleFromSearchDocuments(ctx context.Context, tx *database.DB, modulePath string, packages []string) error {
 	d := squirrel.Delete("search_documents").
 		Where(squirrel.Eq{"module_path": modulePath})
 	if len(packages) > 0 {
diff --git a/internal/postgres/search_test.go b/internal/postgres/search_test.go
index 5383ff1..2190465 100644
--- a/internal/postgres/search_test.go
+++ b/internal/postgres/search_test.go
@@ -1377,7 +1377,7 @@
 		defer release()
 		insertInitial(testDB)
 
-		if err := deleteModuleFromSearchDocuments(ctx, testDB.db, modulePath, nil); err != nil {
+		if err := deleteModuleOrPackagesInModuleFromSearchDocuments(ctx, testDB.db, modulePath, nil); err != nil {
 			t.Fatal(err)
 		}
 		checkSearchDocuments(ctx, t, testDB, []searchDocumentRow{
