Guide
Speed Up IntelliJ IDEA Large Project Load with Shared Project Indexes
Configure IntelliJ IDEA 2023.3+ Shared Project Indexes so team members download pre‑built indexes instead of re‑indexing on every pull.
Published by Tasadduq Burney
28 Dec 2025, 16:22 UTC
3 min87.5K views0

The Problem: Full Re‑indexing After Every Pull
Large Gradle or Maven projects can take minutes to index each time a developer pulls changes. That idle time adds up across a team. IntelliJ IDEA 2023.3 introduced Shared Project Indexes so one machine builds the index once and everyone else downloads it.
Prerequisites
- IntelliJ IDEA 2023.3 or newer (Ultimate or Community)
- Gradle or Maven project with stable dependency versions
- Shared storage reachable by all developers (network drive, S3 bucket, Artifactory)
- Consistent JDK and language level across the team
Enable Shared Indexes in the IDE
- Open Settings → Tools → Shared Indexes.
- Check Use shared indexes.
- In Storage URL enter a supported URL scheme, e.g.
file:///mnt/shared/indexes/my-project,s3://my-bucket/indexes/my-project,https://artifactory.company.com/indexes/my-project. - If authentication is required, click Configure credentials and add the username/password or access token.
- Click Apply.
Generate the Initial Index
Option A: Local Generation (Quick Test)
- With the project open, press Ctrl+Shift+A (Windows/Linux) or Cmd+Shift+A (macOS) and run Build Shared Indexes.
- Wait for the background task to finish; index files appear in the configured storage.
Option B: CI Generation (Recommended for Teams)
# Example using intellij-indexer CLI on a Linux/macOS agent
/opt/intellij-indexer/bin/intellij-indexer \
--project-dir /path/to/project \
--index-dir /tmp/shared-indexes \
--storage-url s3://my-bucket/indexes/my-project \
--aws-access-key $AWS_ACCESS_KEY_ID \
--aws-secret-key $AWS_SECRET_ACCESS_KEY
Commit the small .idea/shared-indexes.xml metadata file produced by the indexer to version control so every checkout knows where to fetch indexes.
Verify It Works
- Close and reopen the project (or have a teammate clone fresh).
- Watch the status bar: you should see Loading shared indexes… followed by Shared indexes applied.
- Open the Event Log (View → Tool Windows → Event Log) and confirm the line
Shared indexes appliedappears without a subsequent full indexing pass. - Optional: measure time‑to‑ready before and after using a stopwatch or the internal action Analyze → Indexing Time (invoked via Find Action).
- In Settings → Tools → Shared Indexes, click Show index status to view the last update timestamp and index size.
Fallback and Recovery
- Dependency version mismatch – If resolved dependencies differ, IntelliJ silently falls back to local indexing. Check the Event Log for
Shared indexes not applicable. - JDK or language‑level drift – Align
Project Structure → Project → SDKandLanguage levelacross the team. - Corrupted local cache – Run File → Invalidate Caches → Invalidate and Restart to force a clean download.
- Disable entirely – Uncheck Use shared indexes in Settings to revert to pure local indexing.
Limitations to Know
- Indexes are project‑specific; a multi‑module monorepo may need one index per IntelliJ project root.
- Large indexes (hundreds of MB) consume bandwidth on every sync; consider incremental CI runs on dependency changes only.
- Kotlin Multiplatform, some Scala setups, and custom language plugins may not be fully supported; they will fall back to local indexing.
- The
intellij-indexerCLI version must match the IDE major version (2023.3 indexer for 2023.3 IDEs).
Quick Checklist for Rollout
- Provision shared storage with read/write for CI, read‑only for developers.
- Add a CI job that runs
intellij-indexeron every merge to main (or on dependency changes). - Commit
.idea/shared-indexes.xmlto VCS. - Ask the team to enable the feature in Settings and verify the Event Log message.
- Monitor indexing time for two sprints; expect 60–90 % reduction for projects over 50 k files.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.