Shared indexes

您所在的位置:网站首页 idea出现indexing是什么意思 Shared indexes

Shared indexes

2023-07-08 13:31| 来源: 网络整理| 查看: 265

Shared indexes

One of the possible ways of reducing the indexing time is by using shared indexes. Unlike the regular indexes that are built locally, shared indexes are generated once and are later reused on another computer whenever they are needed.

For more information on indexing and other ways of reducing the indexing time, refer to Indexing.

IntelliJ IDEA can connect to a dedicated resource to download shared indexes for your JDK and Maven libraries and build shared indexes for your project's code. Whenever IntelliJ IDEA needs to reindex your application, it will use the available shared indexes and will build local indexes for the rest of the project. Normally, this is faster than building local indexes for the entire application from scratch.

When you launch a project, IntelliJ IDEA processes local and shared indexes together at the same time. This might increase CPU usage on your computer. If you want to avoid this, enable the Wait for shared indexes option in Settings | Tools | Shared Indexes.

Shared indexes for JDKs and Maven libraries

Indexes for JDKs and Maven libraries are built by JetBrains and stored on the dedicated CDN resource. When you open a project, IntelliJ IDEA shows a notification prompting you to enable the automatic download.

If you miss the notification, you can configure these options in the settings.

In the Settings dialog, select Tools | Shared Indexes.

Select the Download automatically option for JDKs and Maven libraries to allow IntelliJ IDEA to download the indexes silently whenever they are needed.

Alternatively, select Ask before download if you prefer to confirm every download manually.

Shared indexes

JDK indexes will be downloaded to index/shared_indexes in the IDE system directory. After that, IntelliJ IDEA will be using the suitable indexes whenever they are needed.

Shared project indexes

Shared project indexes are built for project sources and its dependencies. By generating indexes on a single computer and distributing them to other computers, you can avoid duplicating the indexing process on each machine. This way, each computer can benefit from the precomputed indexes without having to perform the expensive indexing operations individually. This is the main advantage of shared indexes over ordinary indexes.

Using shared indexes is reasonable for large projects, where indexing might take a lot of time, creating inconveniences for the teams involved. For smaller projects, we recommend other ways of reducing the indexing time.

Make sure the plugin is installed

To be able to use shared project indexes, the Shared Project Indexes bundled plugin must be enabled in the settings:

Press Ctrl+Alt+S to open the IDE settings and select Plugins.

Switch to the Installed tab, type Shared Project Indexes, and make sure that the checkbox next to it is selected.

Otherwise, select the checkbox to enable the plugin.

Apply the changes and close the dialog. Restart the IDE if prompted.

The Shared Project Indexes plugin is available in IntelliJ IDEA Community for 30 days. If you want to continue using the plugin, you can activate a license for IntelliJ IDEA Ultimate, GoLand, PhpStorm, PyCharm Professional, RubyMine, or WebStorm in your IntelliJ IDEA Community.

Install the plugin

To be able to use shared project indexes, install the Shared Project Indexes plugin:

Press Ctrl+Alt+S to open the IDE settings and select Plugins.

Switch to the Marketplace tab and type Shared Project Indexes in the search field.

Once the plugin is found in the list of available plugins, click Install next to it.

Apply the changes and close the dialog. Restart the IDE if prompted.

Before you begin

To ensure index compatibility, use the same IDE version on the source and the target computer.

You can have different operating systems on the source and the target computer.

However, in previous IntelliJ IDEA versions, project shared indexes were OS-specific. Refer to the documentation that corresponds to your IDE version by using the version switcher in the top-left corner of this page.

Before incorporating shared project indexes into your infrastructure, you can evaluate how much time they can save on indexing by running the command-line tool.

If you are satisfied with the results, you can keep using shared indexes from the command line. In more complex scenarios, you can customize sample scripts from the IntelliJ Shared Indexes Tool Example repository.

Evaluate indexing time with shared indexes

Before using shared project indexes in your workflow, you can see how much time they are able to save you. During evaluation, the tool will generate some files that you can keep locally or on a storage.

Download the command-line tool and unzip it.

Execute the binary file via the command line by running:

./bin/ij-shared-indexes-tool-cli boost

with the following options:

--ij: (mandatory) path to a locally installed IDE.

--project: (mandatory) path to the project for which you want to build shared indexes.

--port: port for running a local server. The default port is 25561.

--data-directory: directory for storing generated indexes and server data. You can use a server running locally or any S3-compatible storage. The default directory is ./ij-shared-indexes-tool-data.

For example:

./bin/ij-shared-indexes-tool-cli boost --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-1/231.9161.14/IntelliJ IDEA 2023.1 EAP.app" --project "/Users/jetbrains/IdeaProjects/spring-petclinic"

Wait for some time. After that, you will see the indexing time with shared indexes and without them.

Estimated indexing time

By looking at the difference in time, you can decide whether you want to use shared project indexes in your workflow or not.

Generate indexes from the command line

Download the command-line tool and unzip it.

Execute the binary file via the command line by running:

./bin/ij-shared-indexes-tool-cli indexes

with the following options:

--ij: (mandatory) path to a locally installed IDE.

--project: (mandatory) path to the project for which you want to build shared indexes.

--port: port for running a local server. The default port is 25561.

--data-directory: directory for storing generated indexes and server data. You can use a server running locally or any S3-compatible storage. The default directory is ./ij-shared-indexes-tool-data.

For example:

./bin/ij-shared-indexes-tool-cli indexes --ij "/Users/jetbrains/Library/Application Support/JetBrains/Toolbox/apps/IDEA-U/ch-1/231.9161.14/IntelliJ IDEA 2023.1 EAP.app" --project "/Users/jetbrains/IdeaProjects/spring-petclinic"

Once the project indexes have been generated, you will see a message with the information required to configure shared indexes in your project.

Shared indexes are generated

Other commands that you can run:

version

Displays shared indexes version information. Options:

--ij: (mandatory) path to a locally installed IDE.

server

Starts a server on local indexes. Options:

--port: port for running a local server. The default port is 25561.

--server-directory: directory for server data. The default directory is ./ij-shared-indexes-tool-data/server.

You can keep using shared indexes from the command line. In more complex scenarios, you can customize sample scripts from the IntelliJ Shared Indexes Tool Example repository.

Configure access to shared indexes

Once the project indexes are uploaded to the file storage, they can be downloaded and applied on another computer.

In the project directory, create a new file intellij.yaml and copy the information from the terminal to the new file, for example:

YAML file with shared indexes

In the default configuration, the IDE will be downloading shared indexes automatically. You can choose to confirm every download manually.

Restart your project.

Project indexes will be downloaded to index/shared_indexes in the IDE system directory.

Place the /intellij.yaml file under VCS so that other developers in your team can get access to the project shared indexes.

When the indexes are being downloaded, the progress is displayed in the status bar.

Downloading shared indexes

When everything is ready, you will see a corresponding notification in the Notifications tool window.

Shared indexes are downloaded Change the way indexes are downloaded

In the default configuration, the IDE will be downloading shared indexes automatically. You can choose to confirm every download manually.

From the intellij.yaml file, remove the consents section and restart your project.

In the Settings dialog (Ctrl+Alt+S), select Tools | Shared Indexes and in the Shared Project Indexes area, select Ask before download.

Configuring options for downloading shared indexes

Apply the changes and close the dialog.

Last modified: 22 June 2023 Indexing Modules


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3