├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.yml └── workflows │ └── add-to-project.yml ├── .gitignore ├── CHANGELOG.md ├── EULA.md ├── README.md ├── images ├── IntelliJ-Elasticsearch-plugin.webp ├── QueryDSL_autocomplete.webp ├── browse_and_manage_data.webp ├── crud.webp ├── export_data.webp ├── import_data.webp └── multiple_connections_to_elasticsearch.webp └── privacy-policy.md /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug Report 3 | about: Submit a bug report 4 | labels: ["bug"] 5 | 6 | --- 7 | 8 | **Describe the bug** 9 | 10 | 11 | **Steps to reproduce** 12 | 13 | 14 | **Expected behavior** 15 | 16 | 17 | **Environment information:** 18 | - OS: 19 | - IDE version: 20 | - plugin version: 21 | - Elasticsearch or OpenSearch version: 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.yml: -------------------------------------------------------------------------------- 1 | name: Feature Request 2 | description: Request a new feature that you would like to be part of the Elasticsearch plugin. 3 | labels: "enhancement" 4 | body: 5 | - type: textarea 6 | attributes: 7 | label: Is your feature request related to a problem? 8 | description: | 9 | A clear and concise description of what the problem is. 10 | validations: 11 | required: true 12 | - type: textarea 13 | attributes: 14 | label: Describe the solution you'd like 15 | description: | 16 | A clear and concise description of what you want to happen. 17 | validations: 18 | required: true 19 | - type: textarea 20 | attributes: 21 | label: Additional context 22 | description: | 23 | Add any other context or screenshots about the feature request here. 24 | validations: 25 | required: false -------------------------------------------------------------------------------- /.github/workflows/add-to-project.yml: -------------------------------------------------------------------------------- 1 | name: Add issue to project 2 | 3 | on: 4 | issues: 5 | types: 6 | - opened 7 | 8 | jobs: 9 | add-to-project: 10 | name: Add issue to project 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/add-to-project@v0.5.0 14 | with: 15 | project-url: https://github.com/users/AntonShuvaev/projects/2 16 | github-token: ${{ secrets.ADD_TO_PROJECT_PAT }} 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | *.iml 3 | .DS_Store 4 | 5 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Change Log 2 | ---------- 3 | ## 2024.1.6 (2025-01-25) 4 | ### Fixed 5 | - [\#159](https://github.com/AntonShuvaev/elasticsearch4idea/issues/159) Add suggestions menu when using "_source" completion in query 6 | - [\#140](https://github.com/AntonShuvaev/elasticsearch4idea/issues/140) Add ability to sort document keys alphabetically 7 | 8 | ## 2024.1.5 (2024-12-03) 9 | ### Fixed 10 | - [\#157](https://github.com/AntonShuvaev/elasticsearch4idea/issues/157) Misspelled endpoint for getting stored scripts 11 | - Error when using big numbers in the query builder 12 | 13 | ## 2024.1.4 (2024-09-19) 14 | ### Added 15 | - Support 2024.3 EAP 16 | ### Fixed 17 | - [\#155](https://github.com/AntonShuvaev/elasticsearch4idea/issues/155) Invalid argument exception with OpenSearch Serverless 18 | 19 | ## 2024.1.3 (2024-07-18) 20 | ### Changed 21 | - Updated icons 22 | - ### Fixed 23 | - Fixed minor fixes 24 | 25 | ## 2024.1.2 (2024-03-25) 26 | ### Fixed 27 | - [\#148](https://github.com/AntonShuvaev/elasticsearch4idea/issues/148) Fixed regression where indices were not loaded for Elasticsearch versions less than 7.7 28 | 29 | ## 2024.1.1 (2024-03-21) 30 | ### Added 31 | - [\#147](https://github.com/AntonShuvaev/elasticsearch4idea/issues/147) Show search results view when querying using search templates 32 | - [\#146](https://github.com/AntonShuvaev/elasticsearch4idea/issues/146) Auto-Completion Feature for inner_hits in has_child and has_parent Queries 33 | ### Fixed 34 | - [\#148](https://github.com/AntonShuvaev/elasticsearch4idea/issues/148) Fixed regression where indices were not loaded for Elasticsearch versions less than 7.7 35 | 36 | ## 2024.1.0 (2024-03-11) 37 | ### Added 38 | - [\#144](https://github.com/AntonShuvaev/elasticsearch4idea/issues/144) Add quick access to data streams 39 | - [\#143](https://github.com/AntonShuvaev/elasticsearch4idea/issues/143) Add support for inline comments 40 | - Added separate options for connection timeout and request timeout 41 | ### Fixed 42 | - Keep hidden fields in saved requests and queries 43 | - Other minor fixes 44 | 45 | ## 2023.3.5 (2024-02-07) 46 | ### Fixed 47 | - [\#141](https://github.com/AntonShuvaev/elasticsearch4idea/issues/141) Regression: field filtering no longer works in table view 48 | 49 | ## 2023.3.4 (2024-01-25) 50 | ### Added 51 | - Support 2024.1 EAP 52 | ### Fixed 53 | - [\#138](https://github.com/AntonShuvaev/elasticsearch4idea/issues/138) IDE freezing when searching large indices 54 | 55 | ## 2023.3.3 (2024-01-11) 56 | ### Added 57 | - Support for HTTP proxy from IDE settings 58 | ### Fixed 59 | - Connection to Elasticsearch over HTTPS not working properly when using SSH 60 | - [\#136](https://github.com/AntonShuvaev/elasticsearch4idea/issues/136) Connection constantly lost 61 | - Editor tab title is not properly displayed 62 | 63 | ## 2023.3.2 (2023-12-18) 64 | ### Added 65 | - [\#135](https://github.com/AntonShuvaev/elasticsearch4idea/issues/135) Ability to delete field from document in table view 66 | ### Fixed 67 | - ArrayIndexOutOfBoundsException might occur in some cases 68 | 69 | ## 2023.3.1 (2023-12-05) 70 | ### Added 71 | - Show request logs and results in the Services tool window 72 | - Tables list search and filtering 73 | - Automatically add closing quota in Query Builder 74 | ### Changed 75 | - Improved search in the table view (Cmd + F) 76 | ### Fixed 77 | - Other minor issues 78 | 79 | ## 2023.2.12 (2023-11-03) 80 | ### Changed 81 | - New Alias action replaced with Manage Aliases action 82 | ### Fixed 83 | - [\#131](https://github.com/AntonShuvaev/elasticsearch4idea/issues/131) Total size is incorrect in Elasticsearch Inspector 84 | - other minor fixes 85 | 86 | ## 2023.2.11 (2023-10-10) 87 | ### Added 88 | - [\#130](https://github.com/AntonShuvaev/elasticsearch4idea/issues/130) Added support for headers in connection settings 89 | 90 | ## 2023.2.10 (2023-10-09) 91 | ### Added 92 | - Option to show only queries for the current index in the query history popup 93 | ### Fixed 94 | - UnsupportedFlavorException when copying text into table cell 95 | - "Slow operations are prohibited on EDT" error in 2023.3 EAP 96 | - Error when JCef is not supported 97 | 98 | 99 | ## 2023.2.9 (2023-10-02) 100 | ### Added 101 | - Ability to copy table cell values to other cells 102 | 103 | ### Fixed 104 | - Exception "IllegalStateException: JCEF is not supported in this env or failed to initialize" might occur in some cases 105 | - [\#128](https://github.com/AntonShuvaev/elasticsearch4idea/issues/128) index mappings are fetched multiple 106 | - Error "Slow operations are prohibited on EDT" occurs in EAP 2023.3 107 | 108 | ## 2023.2.8 (2023-09-22) 109 | ### Added 110 | - [\#127](https://github.com/AntonShuvaev/elasticsearch4idea/issues/127) Autocompletion for queries in _count, _update_by_query, _delete_by_query, and other APIs 111 | - [\#129](https://github.com/AntonShuvaev/elasticsearch4idea/issues/129) Ability to open Data Browser without executing a query (Select Cluster in tree -> Open in Data Browser) 112 | - JSON tree visualization (for viewing aggregation responses) 113 | - Double-clicking on the row number or using ctrl + double-clicking on the row now opens the Edit Document dialog 114 | - Added an option to display attributes as either flattened or unflattened 115 | 116 | ### Fixed 117 | - [\#128](https://github.com/AntonShuvaev/elasticsearch4idea/issues/128) Improved memory consumption 118 | - Preserved column order and width when refreshing a query 119 | - If you use the GitHub Copilot plugin, you can now use it for Elasticsearch files 120 | 121 | 122 | ## 2023.2.7 (2023-08-17) 123 | ### Fixed 124 | - IllegalStateException: Do not change documents during undo as it will break undo sequence. 125 | 126 | ## 2023.2.6 (2023-08-14) 127 | ### Changed 128 | - [\#124](https://github.com/AntonShuvaev/elasticsearch4idea/issues/124) Change autocomplete template for bool operators from `{}` to `[{}]` 129 | ### Fixed 130 | - [\#125](https://github.com/AntonShuvaev/elasticsearch4idea/issues/125) Illegal character error when path contains `^` 131 | - [\#121](https://github.com/AntonShuvaev/elasticsearch4idea/issues/121) Table cell popup editor turns green when searching 132 | - Other minor fixes 133 | 134 | ## 2023.2.5 (2023-07-24) 135 | ### Added 136 | - [\#118](https://github.com/AntonShuvaev/elasticsearch4idea/issues/118) Added support for `Match Host Exec` in SSH config 137 | ### Fixed 138 | - [\#119](https://github.com/AntonShuvaev/elasticsearch4idea/issues/119) Fixed issues with whitespace in URL 139 | - [\#120](https://github.com/AntonShuvaev/elasticsearch4idea/issues/120) Enable 'ssh-rsa' key support in JSch 140 | - IllegalStateException might occur in some cases 141 | 142 | ## 2023.2.4 (2023-07-12) 143 | ### Added 144 | - [\#115](https://github.com/AntonShuvaev/elasticsearch4idea/issues/115) Support for keyboard-interactive SSH authentication 145 | - [\#114](https://github.com/AntonShuvaev/elasticsearch4idea/issues/114) Ability to change size of table cell editing view 146 | - [\#116](https://github.com/AntonShuvaev/elasticsearch4idea/issues/116) Store request history and connection details separately 147 | ### Changed 148 | - [\#112](https://github.com/AntonShuvaev/elasticsearch4idea/issues/112) "Open in query console" action is now open request in persistent query console 149 | ### Fixed 150 | - [\#117](https://github.com/AntonShuvaev/elasticsearch4idea/issues/117) "Copy index" modal does not scroll properly 151 | - Tree nodes collapse when refreshing the tree 152 | - "IllegalArgumentException: Wrong offsets" might occur in some cases 153 | - "AssertionError: Wrong line separators" might occur in export preview in some cases 154 | 155 | ## 2023.2.3 (2023-06-15) 156 | ### Added 157 | - [\#108](https://github.com/AntonShuvaev/elasticsearch4idea/issues/108) Restored the ability to open an index in the query console, in addition to the ability to open an index in the data browser. 158 | ### Fixed 159 | - RuntimeExceptionWithAttachments might occur 160 | 161 | ## 2023.2.2 (2023-06-12) 162 | ### Fixed 163 | - [\#107](https://github.com/AntonShuvaev/elasticsearch4idea/issues/107) Issue when index or alias contains "_search" in name 164 | 165 | ## 2023.2.1 (2023-06-12) 166 | ### Added 167 | - Updated SSH library to support new key exchange algorithms and ED25519 keys 168 | ### Fixed 169 | - "Algorithm negotiation fail" error might occur when establishing SSH connection 170 | 171 | ## 2023.2.0 (2023-06-06) 172 | ### Added 173 | - The ability to save KQL queries 174 | - Display of saved KQL queries in the query history popup 175 | - Context help with KQL syntax 176 | - Automatic update of the response view to show the cached response when switching between requests 177 | - [\#104](https://github.com/AntonShuvaev/elasticsearch4idea/issues/104) The ability to zoom in on the result table 178 | - The ability to move multi-level columns in the result table 179 | - Display of saved requests in the request history popup 180 | - Restoring of KQL queries from requests 181 | - A link to the User Experience Survey in the help action group 182 | ### Changed 183 | - Indices now open in the editor displaying only the result view, without the request view 184 | - Favorite requests and consoles are now displayed within the cluster node 185 | ### Fixed 186 | - The query builder no longer hides when a query is invalid 187 | - Various minor fixes 188 | 189 | ## 2023.1.6 (2023-04-23) 190 | ### Added 191 | - Support for Amazon OpenSearch Serverless 192 | 193 | ## 2023.1.5 (2023-04-11) 194 | ### Added 195 | - Add ability to specify type when importing to ES version before 7 196 | - Action to change default page size 197 | ### Changed 198 | - Do not automatically execute queries from opened files after IDE restart 199 | ### Fixed 200 | - Message that plugin is not registered might appear after IDE restart 201 | - Credentials might be lost after IDE restart on Windows 202 | 203 | ## 2023.1.4 (2023-03-29) 204 | ### Fixed 205 | - [\#101](https://github.com/AntonShuvaev/elasticsearch4idea/issues/101) Can't connect to Kibana 206 | - ExceptionInInitializerError: NullPointerException might occur in some cases 207 | ### Added 208 | - Ability to create Elasticsearch file from project view context menu 209 | 210 | ## 2023.1.3 (2023-03-14) 211 | ### Fixed 212 | - [\#98](https://github.com/AntonShuvaev/elasticsearch4idea/issues/98) Do not urlencode url in the request 213 | 214 | ## 2023.1.2 (2023-03-13) 215 | ### Fixed 216 | - [\#99](https://github.com/AntonShuvaev/elasticsearch4idea/issues/99) "indices" disappeared on some clusters 217 | 218 | 219 | ## 2023.1.1 220 | ### Added 221 | - [\#98](https://github.com/AntonShuvaev/elasticsearch4idea/issues/98) Support whitespaces in url 222 | 223 | ### Fixed 224 | - [\#99](https://github.com/AntonShuvaev/elasticsearch4idea/issues/99) "indices" disappeared on some clusters 225 | - java.lang.NullPointerException might occur in some cases 226 | 227 | 228 | ## 2023.1.0 229 | ### Added 230 | - Recent ES files are stored and can be opened from the "Recent Files" 231 | - Added support for 2023.1 232 | ### Changed 233 | - ES toolwindow icon changed to the monochrome version 234 | ### Fixed 235 | - [\#97](https://github.com/AntonShuvaev/elasticsearch4idea/issues/97) Moving tabs resets query loosing changes 236 | - ES files are not correctly shown in "Recent Files" list 237 | 238 | 239 | ## 2022.3.4 240 | ### Added 241 | - Ability to specify AWS config file along with credentials file 242 | ### Fixed 243 | - [\#93](https://github.com/AntonShuvaev/elasticsearch4idea/issues/93) AWS credentials path is not saved between restarts causing NullPointerException 244 | - [\#94](https://github.com/AntonShuvaev/elasticsearch4idea/issues/94) Error on choosing suggestion in Query Console 245 | 246 | ## 2022.3.3 247 | ### Added 248 | - Support "routing" field in import 249 | ### Fixed 250 | - "java.lang.VerifyError: Bad type on operand stack" may occur in some cases 251 | - "java.lang.IndexOutOfBoundsException" may occur in some cases 252 | - "JsonParseException Unrecognized token" may occur in some cases 253 | 254 | ## 2022.3.2 255 | ### Fixed 256 | - "IllegalArgumentException: Argument for @NotNull parameter 'c' of com/intellij/ui/ColorUtil.toHex must not be null" might occur in some cases 257 | - "TraceableDisposable$DisposalException: Editor is already disposed" might occur in some cases 258 | ### Added 259 | - [\#92](https://github.com/AntonShuvaev/elasticsearch4idea/issues/92) Add "routing" field to the Bulk API export 260 | ### Changed 261 | - Changed shortcut for "Submit changes" to "Ctrl+Shift+Enter" (was "Ctrl+Enter") to avoid conflicts with "Execute query" 262 | 263 | ## 2022.3.1 264 | ### Fixed 265 | - Regression in 2022.3.0 where some plugin keybindings block default IDE keybindings 266 | ### Added 267 | - [\#91](https://github.com/AntonShuvaev/elasticsearch4idea/issues/91) Added ability to choose custom color for connection 268 | - Added help actions: Open Documentation, Open Changelog, Create GutHub Issue, Copy Email 269 | 270 | ## 2022.3.0 271 | ### Fixed 272 | - TraceableDisposable$DisposalException might occur in some cases 273 | ### Added 274 | - [\#90](https://github.com/AntonShuvaev/elasticsearch4idea/issues/90) Support multiple jump hosts in SSH settings. Support host alias and ProxyJump from ssh config file. 275 | - [\#88](https://github.com/AntonShuvaev/elasticsearch4idea/issues/88) Allow configuring plugin keymaps 276 | - Added support for 2022.3 277 | 278 | ## 2022.2.3 279 | ### Fixed 280 | - [\#86](https://github.com/AntonShuvaev/elasticsearch4idea/issues/86) Nested values are not updated correctly by table editor 281 | ### Added 282 | - [\#84](https://github.com/AntonShuvaev/elasticsearch4idea/issues/84) Paste request from history without closing the dialog 283 | ### Changed 284 | - [\#84](https://github.com/AntonShuvaev/elasticsearch4idea/issues/84) Search in history dialog shows only matching requests 285 | 286 | 287 | ## 2022.2.2 288 | ### Fixed 289 | - [\#85](https://github.com/AntonShuvaev/elasticsearch4idea/issues/85) "IllegalArgumentException: Illegal base64 character" might occur in some cases 290 | 291 | ## 2022.2.1 292 | ### Fixed 293 | - [\#82](https://github.com/AntonShuvaev/elasticsearch4idea/issues/82) "IllegalArgumentException: Illegal base64 character" might occur on Windows and cause the loss of state 294 | - NullPointerException might occur in some cases 295 | - UninitializedPropertyAccessException might occur in some cases 296 | - IndexOutOfBoundsException: might occur in some cases 297 | 298 | 299 | ## 2022.2.0 300 | ### Added 301 | - Show consoles in the explorer tool window 302 | - Compatibility with IntelliJ Platform 2022.2 303 | ### Changed 304 | - Favorites moved to the explorer tool window 305 | ### Fixed 306 | - Field filter is reset each time the query is run 307 | 308 | 309 | ## 2022.1.10 310 | ### Added 311 | - [\#81](https://github.com/AntonShuvaev/elasticsearch4idea/issues/81) ApiKey authorization 312 | 313 | ## 2022.1.9 314 | ### Fixed 315 | - [\#79](https://github.com/AntonShuvaev/elasticsearch4idea/issues/79) Lost Configuration 316 | - Incorrect column names for fields with dots in CSV export 317 | ### Added 318 | - Import from CSV, JSON, Dump files and copying indices 319 | - Support gzip compression for export 320 | - Explorer tree nodes filter 321 | - Added task and ingest pipeline explorer tree nodes 322 | - Ability to send error reports to the developer 323 | 324 | ## 2022.1.8 325 | ### Fixed 326 | - Delete document with routing not working 327 | - Bulk update with routing not working 328 | ### Added 329 | - Support bulk update documents in dialog window 330 | - Ability to update or delete favorite request from editor 331 | 332 | ## 2022.1.7 333 | ### Fixed 334 | - [\#76](https://github.com/AntonShuvaev/elasticsearch4idea/issues/76) Cannot init component state error might occur 335 | - Fixed memory leak 336 | ### Changed 337 | - Move favorite requests back to Bookmarks tool window 338 | ### Added 339 | - Multilevel table header 340 | - Create, Update, Delete documents in table 341 | - [\#77](https://github.com/AntonShuvaev/elasticsearch4idea/issues/77) Filter indexes, aliases, templates by pattern 342 | - Hiding empty columns in table 343 | - "Filter fields" popup menu to hide fields in result 344 | - Cmd+Enter shortcut for executing request 345 | - AWS Default credential providers chain 346 | - AWS SSO Support (Requires sso login with AWS CLI) 347 | 348 | ## 2022.1.6 349 | ### Fixed 350 | - \#73, \#74 Added checkbox to trust insecure certificate 351 | - \#72 Favorite requests moved to Scratches and Consoles folder 352 | ### Added 353 | - \#69 Autocompletion for Kibana REST API 354 | 355 | ## 2022.1.5 356 | ### Fixed 357 | - \#70 The plugin uninstalls automatically 358 | 359 | ## 2022.1.4 360 | ### Added 361 | - Connection to Kibana or AWS OpenSearch Dashboard using them as proxy to ES 362 | - \#66 Support triple quote multi-line strings 363 | - Authorization with Bearer token 364 | - \#65 Authorization with OAuth 2.0 (Client credentials and password grant types supported) 365 | ### Changed 366 | - Username and password moved to Basic Auth at Authorization tab 367 | ### Fixed 368 | - \#68 Search results are not displayed for ES 8 369 | - Fields in Index Structure view are not updated immediately after show/hide action 370 | 371 | ## 2022.1.3 372 | ### Added 373 | - Connection to Kibana or AWS OpenSearch Dashboard using them as proxy to ES 374 | - \#66 Support triple quote multi-line strings 375 | - Authorization with Bearer token 376 | - \#65 Authorization with OAuth 2.0 (Client credentials and password grant types supported) 377 | ### Changed 378 | - Username and password moved to Basic Auth at Authorization tab 379 | ### Fixed 380 | - Fields in Index Structure view are not updated immediately after show/hide action 381 | 382 | ## 2022.1.2 383 | ### Added 384 | - `Dump` extractor to export index with mappings, settings and aliases 385 | - Autocomplete for mapping 386 | ### Changed 387 | - Move tree nodes information panel to separate tool window 388 | ### Fixed 389 | - \#64 ClassCastException if parent/child relations have list of children 390 | - Fix KQL nested filter 391 | 392 | ## 2022.1.0 393 | ### Added 394 | - \#45 Autocompletion for Aggregations 395 | - Editors in dialogs have the first line with request to be executed 396 | ### Changed 397 | - Updated Elasticsearch documentation 398 | ### Fixed 399 | - \#59 Size: 0 is ignored after switching view 400 | - \#61 Confirm delete window while removing symbols in query input 401 | - \#63 Login to AWS OpenSearch is not working for assume role profiles 402 | - The error "PluginException: Cannot init component state" might occur in some cases 403 | - The error "java.lang.NoClassDefFoundError: NotebookVisualizationUiUtilKt" might occur in some cases 404 | 405 | ## Version 1.7.1 406 | ### Added 407 | - \#54 Support reading AWS credentials from file 408 | - \#56 Added Delimiter-separated values (DSV) extractor 409 | ### Fixed 410 | - com.intellij.diagnostic.PluginException when opening plugin settings 411 | - \#56 CSV extractor doesn't escape comma in arrays 412 | - New line appended when executing request 413 | - Elasticsearch files (.es) opened as plain text files 414 | - \#55, \#57 `_geo_distance` or `_script` sorting removed from request 415 | 416 | ## Version 1.7.0 417 | ### Added 418 | - \#48 Add templates node to cluster tree 419 | - \#49 Support exporting all documents using Scroll API 420 | - \#50 Support quick jump to table column from Index Structure view 421 | ### Fixed 422 | - \#51 Table-view doesn't work for some indices 423 | - \#52 Error when export result of wildcard search 424 | - Query parameters are ignored in search requests 425 | - Some other bugs 426 | 427 | ## Version 1.6.0 428 | ### Added 429 | - Support physical and scratch files, you can keep your requests in project 430 | - Support multiple requests in one console 431 | - Added Elasticsearch Consoles similar to Database Consoles 432 | - Added Update Mapping action in index context menu 433 | - \#48 Added Index Templates action in cluster context menu 434 | ### Changed 435 | - Merged Rest API and Search consoles 436 | ### Fixed 437 | - \#47 Elasticsearch plugin window does not follow Intellij editor theme 438 | - \#46 HTTP method dropdown in REST query console is truncated 439 | - Fixed some bugs 440 | 441 | ## Version 1.5.1 442 | ### Added 443 | - \#40 Global settings can be shared through settings repository 444 | - \#39 Copy absolute URL when whole URL is selected 445 | - On the editor panel added buttons for changing view mode: 446 | Only editor / Only response view / Vertical editor and response / Horizontal editor and response 447 | - On the search actions panel added button to enable/disable updating request in editor when executing actions like pagination, KQL filter, sorting, hiding fields 448 | - KQL filter is applied as additional filter to query instead of replacing it 449 | - Added connection timeout setting 450 | ### Fixed 451 | - \#41 Invalid update format for Bulk API export 452 | - \#42 Unnecessary data in Bulk API export 453 | - \#43 Multi node connection doesn't work as expected due to missing connection timeout 454 | - Refreshing nodes in cluster tree collapse tree 455 | 456 | ## Version 1.5.0 457 | - Support connection to multiple nodes 458 | - \#37 Support export to CSV, JSON, Bulk API 459 | - Ability to select rows and copy to clipboard row converted to CSV, JSON or Bulk API 460 | - Support deleting multiple documents 461 | - Fix copying table cell value 462 | 463 | ## Version 1.4.2 464 | - \#38 Fix: Data browser not working for indices with name containing `_cat` 465 | 466 | ## Version 1.4.1 467 | 468 | - \#35 Fix regression that indices cannot be loaded in some cases 469 | - \#34 Fix SSH connection with password 470 | 471 | ## Version 1.4.0 472 | 473 | - REST API autocomplete 474 | - Elasticsearch Documentation for Query DSL and REST API 475 | - Aliases and nodes in cluster tree 476 | - Fix some bugs 477 | 478 | ## Version 1.3.0 479 | 480 | - Query DSL autocomplete 481 | - Added full json response view mode 482 | - View mode settings moved to toolbar 483 | - View orientation settings moved to Preferences->Tools->Elasticsearch 484 | - Configuring history size 485 | - Fixed some bugs 486 | 487 | ## Version 1.2.0 488 | 489 | - Ability to save requests in Favorites 490 | 491 | ## Version 1.1.0 492 | 493 | - Support SSH 494 | - \#29 Fix regressions: 495 | 1) aggregations are not shown in Data Browser JSON View 496 | 2) request history is missing in Data Browser 497 | 498 | ## Version 1.0.0 499 | 500 | - Search with Kibana Query Language 501 | - Field names autocomplete in KQL query 502 | - Highlighting matches in search results 503 | - Split into Data Browser for searching and REST Console for any requests 504 | - Ability to Hide/Show request in Data Browser 505 | - Show notifications as Balloon Notification instead of Message box 506 | - \#27 Allow newline delimited JSON for Multi search 507 | - \#28 Remove ability to sort by _id 508 | 509 | ## Version 0.7.2 510 | 511 | - \#26 Fix: IDE hangs 512 | - \#25 Fix: host cannot have path 513 | - Fix: in table view Update document dialog opens incorrect document if selection was changed 514 | 515 | ## Version 0.7.1 516 | 517 | - \#24 Fix: fields are not visible for explicit _doc type 518 | 519 | ## Version 0.7.0 520 | 521 | - Ability to Create, Update, Delete documents 522 | - Ability to hide fields 523 | - Index mapping in structure view with ability to sort and hide fields. 524 | - UI enhancements 525 | - Ability to specify mapping in create index dialog 526 | 527 | ## Version 0.6.0 528 | 529 | - Add tree view mode 530 | - \#23 Fix: Wrong line separators \r\n 531 | - Fix adjusting number column width when number >= 100 532 | 533 | ## Version 0.5.1 534 | 535 | - Add search by request history 536 | - \#23 Fix: Unable to parse unicode value: cm_c 537 | 538 | ## Version 0.5.0 539 | 540 | - \#13 Support global (for all projects) cluster configurations 541 | - Add request history 542 | - \#22 Support SSL via IDE build-in "Server Certificates" 543 | - Add shortcuts for Next / Previous page 544 | 545 | ## Version 0.4.4 546 | 547 | - Fix dynamic plugin reloading 548 | - Small UI fixes 549 | 550 | ## Version 0.4.3 551 | 552 | - Fix: Incorrect colors when schemeForCurrentUITheme is used in 2020.3 553 | - Fix: Index and cluster icons are not shown in 2020.3 554 | - \#21 Fix error when mapping without `properties` 555 | 556 | ## Version 0.4.2 557 | 558 | - \#19 Add ability to delete multiple indices at once 559 | - \#19 Delete index dialog has changed to Yes/No instead of typing 'DELETE' word 560 | - \#20 Support _source in table view 561 | 562 | ## Version 0.4.1 563 | 564 | - \#18 Fix error when sorting on Windows 565 | 566 | ## Version 0.4.0 567 | 568 | - Add sorting in table view 569 | - \#17 Convert unicode symbols 570 | - \#16 Possibility to disconnect from ElasticSearch 571 | - \#12 Make result table font same as editor font 572 | - Fix checking for cluster name is unique 573 | 574 | ## Version 0.3.0 575 | 576 | - Add ability to set background color for clusters in tree view 577 | - \#14 Support AWS Elasticsearch Service 578 | - \#15 Allow to set a read-only mode 579 | 580 | ## Version 0.2.3 581 | 582 | - \#10 Fix fatal Error on invalid HTTP host 583 | - \#11 Fix KotlinNullPointerException at MyUIUtils.getPropertiesTableHeaderColor 584 | 585 | ## Version 0.2.2 586 | 587 | - Fix: table header constantly generates events and loads CPU. 588 | - \#9 Support self-signed certificates 589 | 590 | ## Version 0.2.1 591 | 592 | - \#8 Fix java.lang.NoClassDefFoundError: org/apache/commons/io/FileUtils 593 | 594 | ## Version 0.2.0 595 | 596 | - Support horizontal request/response view 597 | - Improve table appearance 598 | - Support pagination 599 | - Show field types in table header 600 | - Support request cancelling 601 | - Support GET with body 602 | - Show loading spinner when request is executing 603 | - Other small fixes and improvements 604 | 605 | ## Version 0.1.9 606 | 607 | - \#5 Fix incorrect displaying Chinese symbols in table view 608 | - Encode request body with UTF-8 instead of ISO 8859-1 609 | - Fix error "Wrong line separators: '\r\n'" on Windows 610 | 611 | ## Version 0.1.8 612 | 613 | - Fix inability to select file in SSL dialog 614 | 615 | ## Version 0.1.7 616 | 617 | - Rename plugin to 'Elasticsearch' 618 | 619 | ## Version 0.1.6 620 | 621 | - Improve table appearance 622 | - Fetch clusters only on demand 623 | - Remove auto-reload clusters 624 | - Support JKS keystore 625 | 626 | ## Version 0.1.5 627 | 628 | - \#3 Fix query URL encoding issue 629 | 630 | ## Version 0.1.4 631 | 632 | - \#2 Support SSL 633 | - Fix using PasswordSafe storage only when credentials are set 634 | 635 | ## Version 0.1.3 636 | 637 | - \#1 Fix freezing when trying to connect to unreachable server 638 | 639 | ## Version 0.1.1 640 | 641 | - Fix number of replicas validation 642 | 643 | ## Version 0.1.0 644 | 645 | - Initial version 646 | - Support connecting to Elasticsearch cluster and performing operations by REST API -------------------------------------------------------------------------------- /EULA.md: -------------------------------------------------------------------------------- 1 | ## Elasticsearch Plugin EULA 2 | 3 | "Developer" means Anton Shuvaev. 4 | 5 | "JetBrains" means JetBrains s.r.o. with its registered office at Na Hrebenech II 1718/10, Prague, 14000, Czech Republic, registered with the Commercial Register kept by the Municipal Court of Prague, Section C, file 86211, ID.Nr.: 265 02 275. 6 | 7 | "JetBrains Affiliate" means the subsidiary and/or any associated companies of JetBrains. 8 | 9 | "JetBrains Marketplace" means any platform operated by JetBrains or a JetBrains Affiliate on which JetBrains or a JetBrains Affiliate markets Plugins for JetBrains Products, including the website https://plugins.jetbrains.com and/or any other website or other platform, whether named JetBrains Marketplace, JetBrains Plugins Repository, or otherwise. 10 | 11 | "JetBrains Product" means any software program or service made available by JetBrains. 12 | 13 | "Plugin" means the Elasticsearch plugin for JetBrains Product that Developer makes available under this EULA. 14 | 15 | "Plugin Information" means the following information and materials: (a) JetBrains Marketplace Plugin title, tags / category, name(s) of Developer(s), product description, icon, logo or banner images, and any other information related to Plugins; (b) the metadata, graphics, artwork, images, trademarks, trade names, logos and other descriptive or identifying information and materials associated with Developer or appears in connection with Plugin; and (c) in the case of cloud hosted Plugins, an XML/JSON descriptor of Plugin. 16 | 17 | "Plugin Users" means users that are able to access and use Plugin concurrently. 18 | 19 | "You" means an individual or an entity concluding this EULA. 20 | 21 | This EULA governs the terms of use of Plugin made available to You via JetBrains Marketplace. This EULA is entered into between You and Developer. 22 | 23 | If Plugin is a paid Plugin, you must ensure that the maximum number of Plugin Users does not exceed the number of Plugin Users for which you have purchased Plugin. 24 | 25 | You are authorized to use Plugin in accordance with its documentation provided by Developer and for the period of time specified by Developer. 26 | 27 | You may not modify, reverse-engineer, decompile, or disassemble Plugin in whole or in part, or create any derivative works from Plugin, or sublicense any rights in Plugin, unless otherwise expressly authorized in writing by Developer. 28 | 29 | Plugin is protected by copyright and other intellectual property laws and treaties. Developer or its licensors own all title, copyright and other intellectual property rights in Plugin. 30 | 31 | ALL PLUGINS ARE PROVIDED TO YOU ON AN "AS IS" AND "AS AVAILABLE" BASIS WITHOUT WARRANTIES. USE OF PLUGINS IS AT YOUR OWN RISK. DEVELOPER MAKES NO WARRANTY AS TO PLUGIN'S USE OR PERFORMANCE. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, DEVELOPER DISCLAIMS ALL OTHER WARRANTIES AND CONDITIONS, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT, WITH REGARD TO PLUGINS, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT SERVICES. DEVELOPER DOES NOT WARRANT THAT PLUGINS ARE ACCURATE, RELIABLE, OR CORRECT; THAT PLUGIN MEETS YOUR REQUIREMENTS; THAT PLUGINS WILL BE AVAILABLE AT ANY PARTICULAR TIME OR LOCATION, UNINTERRUPTED, OR SECURE; THAT ANY DEFECTS OR ERRORS WILL BE CORRECTED; OR THAT PLUGINS ARE FREE OF VIRUSES OR OTHER HARMFUL COMPONENTS. 32 | 33 | IN NO EVENT WILL DEVELOPER BE LIABLE FOR ANY DIRECT OR INDIRECT COSTS, LOSSES, OR DAMAGES ASSOCIATED WITH THE USE OF DEVELOPER'S PLUGINS. 34 | 35 | DEVELOPER SHALL NOT BE LIABLE TO YOU FOR ANY LOST PROFITS OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED, AND IN NO EVENT WILL DEVELOPER'S AGGREGATE LIABILITY ARISING OUT OF OR RELATED TO THIS AGREEMENT OR THE USE OF PLUGIN EXCEED THE FEES WHICH YOU PAID VIA JETBRAINS PLUGIN MARKETPLACE SERVICE FOR PLUGINS IN THE THREE-MONTH PERIOD PRECEDING THE CLAIM. THIS LIMITATION WILL APPLY EVEN IF DEVELOPER HAS BEEN ADVISED OF THE POSSIBILITY OF THE LIABILITY EXCEEDING THE AMOUNT AND NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY. JETBRAINS' LIABILITY IS EXCLUDED IN ITS ENTIRETY AS JETBRAINS IS NOT A PARTY TO THE CONTRACTUAL RELATIONSHIP BETWEEN DEVELOPER AND CUSTOMER. 36 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Elasticsearch Plugin for JetBrains IDEs 2 | 3 | [![Version](https://img.shields.io/jetbrains/plugin/v/org.elasticsearch4idea.svg)](https://plugins.jetbrains.com/plugin/org.elasticsearch4idea) 4 | [![Downloads](https://img.shields.io/jetbrains/plugin/d/org.elasticsearch4idea.svg)](https://plugins.jetbrains.com/plugin/org.elasticsearch4idea) 5 | 6 | ### Intro 7 | 8 | [Elasticsearch Plugin](https://www.elasticsearch-idea.com/) is a GUI Client for Elasticsearch based on IntelliJ Platform. 9 | It is designed to query and manage Elasticsearch cluster. 10 | You can connect to a local cluster, to a server, or in the cloud. 11 | Supports all versions of Elasticsearch and OpenSearch. 12 | 13 | For the documentation please visit [Documentation](https://www.elasticsearch-idea.com/docs/getting-started/overview/). 14 | 15 | To get the Elasticsearch plugin visit [Jetbrains Marketplace](https://plugins.jetbrains.com/plugin/14512-elasticsearch). 16 | 17 | 18 | To get a quick tour of basic Elasticsearch plugin features, see the [introduction video](https://youtu.be/lSsnPGMG830) (3 minutes) 19 | but it is a bit outdated. 20 | 21 | ![Elasticsearch plugin](images/IntelliJ-Elasticsearch-plugin.webp) 22 | 23 | ### Features 24 | 25 | #### Create many connections to Elasticsearch or OpenSearch clusters with Authorization, SSL, SSH, AWS Signature 26 | ![multiple connections to ES](images/multiple_connections_to_elasticsearch.webp) 27 | 28 | 29 | #### Browse your data with a Table or JSON Views. Use Pagination, Sorting and Filtering with Kibana Query Language (KQL). 30 | ![browse and manage indices](images/browse_and_manage_data.webp) 31 | 32 | 33 | #### Create, Update, Delete documents right in the table or in the JSON editor dialog. 34 | ![Create, Update, Delete documents](images/crud.webp) 35 | 36 | 37 | #### QueryDSL and Rest API autocomplete with Elasticsearch Documentation 38 | ![queryDSL autocomplete](images/QueryDSL_autocomplete.webp) 39 | 40 | 41 | #### Export data to CSV, JSON, Bulk API or Dump file 42 | ![Export data](images/export_data.webp) 43 | 44 | 45 | #### Import data from CSV, JSON, Dump file or Copy indexes 46 | ![Import data](images/import_data.webp) 47 | 48 | 49 | #### Other features 50 | - Save `.es` files with requests in your project and share them with your team 51 | - Save your favorite queries and access them from the explorer tool window 52 | - History of all executed requests 53 | - and more... 54 | -------------------------------------------------------------------------------- /images/IntelliJ-Elasticsearch-plugin.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/IntelliJ-Elasticsearch-plugin.webp -------------------------------------------------------------------------------- /images/QueryDSL_autocomplete.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/QueryDSL_autocomplete.webp -------------------------------------------------------------------------------- /images/browse_and_manage_data.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/browse_and_manage_data.webp -------------------------------------------------------------------------------- /images/crud.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/crud.webp -------------------------------------------------------------------------------- /images/export_data.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/export_data.webp -------------------------------------------------------------------------------- /images/import_data.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/import_data.webp -------------------------------------------------------------------------------- /images/multiple_connections_to_elasticsearch.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AntonShuvaev/elasticsearch4idea/4cd2922b32375a1d2d9cfa711c782f9d12345f7a/images/multiple_connections_to_elasticsearch.webp -------------------------------------------------------------------------------- /privacy-policy.md: -------------------------------------------------------------------------------- 1 | ## Privacy Policy for Elasticsearch Plugin 2 | 3 | ### Introduction 4 | 5 | We take your privacy seriously. To better protect your privacy, we provide this privacy policy notice to explain how 6 | your information might be collected and used. Please note that the Elasticsearch plugin never collects any information 7 | without your explicit consent. 8 | 9 | ### Information Collection and Use 10 | 11 | For a better experience while using our plugin, we may collect error reports via Sentry, but only with your explicit 12 | consent. This information will be retained by us and used as described in this privacy policy. The plugin does not use 13 | any third-party services that may collect information used to identify you. 14 | 15 | ### Error Reporting 16 | 17 | #### Where is the data sent? 18 | 19 | The data is sent to Sentry (https://sentry.io). The data is never shared with anyone else. 20 | 21 | #### What is sent? 22 | 23 | The data sent includes the following: 24 | 25 | | Property | Example | Description | 26 | |----------------------|-----------------------------------------|--------------------------------------------------------------| 27 | | java.runtime.version | 17.0.7+7-b1000.6 | Version of the Java runtime used to execute the IDE | 28 | | java.vendor | JetBrains s.r.o. | The vendor of the Java runtime used to execute the IDE | 29 | | os | Mac OS X 13.5.1-aarch64 | The operating system you are using | 30 | | runtime | IntelliJ IDEA 2023.2 | The name of the IDE you are using | 31 | | release | Elasticsearch:2023.2.6-232 | The installed version of the Elasticsearch plugin | 32 | | user | id:2a3b3a62-170a-438e-b2cf-821293b98227 | Randomly generated UUID to correlate events of the same user | 33 | | exception | IncorrectOperationException ... | The stack trace of the exception that occurred | 34 | 35 | ### Contact Us 36 | 37 | If you have any questions or suggestions about our Privacy Policy, do not hesitate to contact us. 38 | 39 | Contact Information: 40 | Email: support@elasticsearch-idea.com 41 | --------------------------------------------------------------------------------