- Elasticsearch Guide: other versions:
- Elasticsearch introduction
- Getting started with Elasticsearch
- Set up Elasticsearch
- Installing Elasticsearch
- Configuring Elasticsearch
- Important Elasticsearch configuration
- Important System Configuration
- Bootstrap Checks
- Heap size check
- File descriptor check
- Memory lock check
- Maximum number of threads check
- Max file size check
- Maximum size virtual memory check
- Maximum map count check
- Client JVM check
- Use serial collector check
- System call filter check
- OnError and OnOutOfMemoryError checks
- Early-access check
- G1GC check
- All permission check
- Discovery configuration check
- Starting Elasticsearch
- Stopping Elasticsearch
- Adding nodes to your cluster
- Full-cluster restart and rolling restart
- Set up X-Pack
- Configuring X-Pack Java Clients
- Bootstrap Checks for X-Pack
- Upgrade Elasticsearch
- Aggregations
- Metrics Aggregations
- Avg Aggregation
- Weighted Avg Aggregation
- Cardinality Aggregation
- Extended Stats Aggregation
- Geo Bounds Aggregation
- Geo Centroid Aggregation
- Max Aggregation
- Min Aggregation
- Percentiles Aggregation
- Percentile Ranks Aggregation
- Scripted Metric Aggregation
- Stats Aggregation
- Sum Aggregation
- Top Hits Aggregation
- Value Count Aggregation
- Median Absolute Deviation Aggregation
- Bucket Aggregations
- Adjacency Matrix Aggregation
- Auto-interval Date Histogram Aggregation
- Children Aggregation
- Composite aggregation
- Date histogram aggregation
- Date Range Aggregation
- Diversified Sampler Aggregation
- Filter Aggregation
- Filters Aggregation
- Geo Distance Aggregation
- GeoHash grid Aggregation
- GeoTile Grid Aggregation
- Global Aggregation
- Histogram Aggregation
- IP Range Aggregation
- Missing Aggregation
- Nested Aggregation
- Parent Aggregation
- Range Aggregation
- Rare Terms Aggregation
- Reverse nested Aggregation
- Sampler Aggregation
- Significant Terms Aggregation
- Significant Text Aggregation
- Terms Aggregation
- Subtleties of bucketing range fields
- Pipeline Aggregations
- Avg Bucket Aggregation
- Derivative Aggregation
- Max Bucket Aggregation
- Min Bucket Aggregation
- Sum Bucket Aggregation
- Stats Bucket Aggregation
- Extended Stats Bucket Aggregation
- Percentiles Bucket Aggregation
- Moving Average Aggregation
- Moving Function Aggregation
- Cumulative Sum Aggregation
- Cumulative Cardinality Aggregation
- Bucket Script Aggregation
- Bucket Selector Aggregation
- Bucket Sort Aggregation
- Serial Differencing Aggregation
- Matrix Aggregations
- Caching heavy aggregations
- Returning only aggregation results
- Aggregation Metadata
- Returning the type of the aggregation
- Metrics Aggregations
- Query DSL
- Search across clusters
- Scripting
- Mapping
- Text analysis
- Overview
- Concepts
- Configure text analysis
- Built-in analyzer reference
- Tokenizer reference
- Char Group Tokenizer
- Classic Tokenizer
- Edge n-gram tokenizer
- Limitations of the
max_gram
parameter - Keyword Tokenizer
- Letter Tokenizer
- Lowercase Tokenizer
- N-gram tokenizer
- Path Hierarchy Tokenizer
- Path Hierarchy Tokenizer Examples
- Pattern Tokenizer
- Simple Pattern Tokenizer
- Simple Pattern Split Tokenizer
- Standard Tokenizer
- Thai Tokenizer
- UAX URL Email Tokenizer
- Whitespace Tokenizer
- Token filter reference
- Apostrophe
- ASCII folding
- CJK bigram
- CJK width
- Classic
- Common grams
- Conditional
- Decimal digit
- Delimited payload
- Dictionary decompounder
- Edge n-gram
- Elision
- Fingerprint
- Flatten graph
- Hunspell
- Hyphenation decompounder
- Keep types
- Keep words
- Keyword marker
- Keyword repeat
- KStem
- Length
- Limit token count
- Lowercase
- MinHash
- Multiplexer
- N-gram
- Normalization
- Pattern capture
- Pattern replace
- Phonetic
- Porter stem
- Predicate script
- Remove duplicates
- Reverse
- Shingle
- Snowball
- Stemmer
- Stemmer override
- Stop
- Synonym
- Synonym graph
- Trim
- Truncate
- Unique
- Uppercase
- Word delimiter
- Word delimiter graph
- Character filters reference
- Normalizers
- Modules
- Index modules
- Ingest node
- Pipeline Definition
- Accessing Data in Pipelines
- Conditional Execution in Pipelines
- Handling Failures in Pipelines
- Enrich your data
- Processors
- Append Processor
- Bytes Processor
- Circle Processor
- Convert Processor
- Date Processor
- Date Index Name Processor
- Dissect Processor
- Dot Expander Processor
- Drop Processor
- Enrich Processor
- Fail Processor
- Foreach Processor
- GeoIP Processor
- Grok Processor
- Gsub Processor
- HTML Strip Processor
- Join Processor
- JSON Processor
- KV Processor
- Lowercase Processor
- Pipeline Processor
- Remove Processor
- Rename Processor
- Script Processor
- Set Processor
- Set Security User Processor
- Split Processor
- Sort Processor
- Trim Processor
- Uppercase Processor
- URL Decode Processor
- User Agent processor
- Managing the index lifecycle
- Getting started with index lifecycle management
- Policy phases and actions
- Set up index lifecycle management policy
- Using policies to manage index rollover
- Update policy
- Index lifecycle error handling
- Restoring snapshots of managed indices
- Start and stop index lifecycle management
- Using ILM with existing indices
- Getting started with snapshot lifecycle management
- Snapshot lifecycle management retention
- SQL access
- Overview
- Getting Started with SQL
- Conventions and Terminology
- Security
- SQL REST API
- SQL Translate API
- SQL CLI
- SQL JDBC
- SQL ODBC
- SQL Client Applications
- SQL Language
- Functions and Operators
- Comparison Operators
- Logical Operators
- Math Operators
- Cast Operators
- LIKE and RLIKE Operators
- Aggregate Functions
- Grouping Functions
- Date/Time and Interval Functions and Operators
- Full-Text Search Functions
- Mathematical Functions
- String Functions
- Type Conversion Functions
- Geo Functions
- Conditional Functions And Expressions
- System Functions
- Reserved keywords
- SQL Limitations
- Monitor a cluster
- Frozen indices
- Roll up or transform your data
- Set up a cluster for high availability
- Snapshot and restore
- Secure a cluster
- Overview
- Configuring security
- User authentication
- Built-in users
- Internal users
- Token-based authentication services
- Realms
- Realm chains
- Active Directory user authentication
- File-based user authentication
- LDAP user authentication
- Native user authentication
- OpenID Connect authentication
- PKI user authentication
- SAML authentication
- Kerberos authentication
- Integrating with other authentication systems
- Enabling anonymous access
- Controlling the user cache
- Configuring SAML single-sign-on on the Elastic Stack
- Configuring single sign-on to the Elastic Stack using OpenID Connect
- User authorization
- Built-in roles
- Defining roles
- Security privileges
- Document level security
- Field level security
- Granting privileges for indices and aliases
- Mapping users and groups to roles
- Setting up field and document level security
- Submitting requests on behalf of other users
- Configuring authorization delegation
- Customizing roles and authorization
- Enabling audit logging
- Encrypting communications
- Restricting connections with IP filtering
- Cross cluster search, clients, and integrations
- Tutorial: Getting started with security
- Tutorial: Encrypting communications
- Troubleshooting
- Some settings are not returned via the nodes settings API
- Authorization exceptions
- Users command fails due to extra arguments
- Users are frequently locked out of Active Directory
- Certificate verification fails for curl on Mac
- SSLHandshakeException causes connections to fail
- Common SSL/TLS exceptions
- Common Kerberos exceptions
- Common SAML issues
- Internal Server Error in Kibana
- Setup-passwords command fails due to connection failure
- Failures due to relocation of the configuration files
- Limitations
- Alerting on cluster and index events
- Command line tools
- How To
- Testing
- Glossary of terms
- REST APIs
- API conventions
- cat APIs
- Cluster APIs
- Cross-cluster replication APIs
- Document APIs
- Enrich APIs
- Explore API
- Index APIs
- Add index alias
- Analyze
- Clear cache
- Clone index
- Close index
- Create index
- Delete index
- Delete index alias
- Delete index template
- Flush
- Force merge
- Freeze index
- Get field mapping
- Get index
- Get index alias
- Get index settings
- Get index template
- Get mapping
- Index alias exists
- Index exists
- Index recovery
- Index segments
- Index shard stores
- Index stats
- Index template exists
- Open index
- Put index template
- Put mapping
- Refresh
- Rollover index
- Shrink index
- Split index
- Synced flush
- Type exists
- Unfreeze index
- Update index alias
- Update index settings
- Index lifecycle management API
- Ingest APIs
- Info API
- Licensing APIs
- Machine learning anomaly detection APIs
- Add events to calendar
- Add jobs to calendar
- Close jobs
- Create jobs
- Create calendar
- Create datafeeds
- Create filter
- Delete calendar
- Delete datafeeds
- Delete events from calendar
- Delete filter
- Delete forecast
- Delete jobs
- Delete jobs from calendar
- Delete model snapshots
- Delete expired data
- Find file structure
- Flush jobs
- Forecast jobs
- Get buckets
- Get calendars
- Get categories
- Get datafeeds
- Get datafeed statistics
- Get influencers
- Get jobs
- Get job statistics
- Get machine learning info
- Get model snapshots
- Get overall buckets
- Get scheduled events
- Get filters
- Get records
- Open jobs
- Post data to jobs
- Preview datafeeds
- Revert model snapshots
- Set upgrade mode
- Start datafeeds
- Stop datafeeds
- Update datafeeds
- Update filter
- Update jobs
- Update model snapshots
- Machine learning data frame analytics APIs
- Migration APIs
- Reload search analyzers
- Rollup APIs
- Search APIs
- Security APIs
- Authenticate
- Change passwords
- Clear cache
- Clear roles cache
- Create API keys
- Create or update application privileges
- Create or update role mappings
- Create or update roles
- Create or update users
- Delegate PKI authentication
- Delete application privileges
- Delete role mappings
- Delete roles
- Delete users
- Disable users
- Enable users
- Get API key information
- Get application privileges
- Get builtin privileges
- Get role mappings
- Get roles
- Get token
- Get users
- Has privileges
- Invalidate API key
- Invalidate token
- OpenID Connect Prepare Authentication API
- OpenID Connect authenticate API
- OpenID Connect logout API
- SAML prepare authentication API
- SAML authenticate API
- SAML logout API
- SAML invalidate API
- SSL certificate
- Snapshot lifecycle management API
- Put snapshot lifecycle policy
- Get snapshot lifecycle policy
- Execute snapshot lifecycle policy
- Get snapshot lifecycle stats
- Delete snapshot lifecycle policy
- Execute snapshot lifecycle retention
- Stop Snapshot Lifecycle Management
- Start Snapshot Lifecycle Management
- Get Snapshot Lifecycle Management status
- Transform APIs
- Watcher APIs
- Definitions
- Release highlights
- Breaking changes
- Release notes
- Elasticsearch version 7.5.2
- Elasticsearch version 7.5.1
- Elasticsearch version 7.5.0
- Elasticsearch version 7.4.2
- Elasticsearch version 7.4.1
- Elasticsearch version 7.4.0
- Elasticsearch version 7.3.2
- Elasticsearch version 7.3.1
- Elasticsearch version 7.3.0
- Elasticsearch version 7.2.1
- Elasticsearch version 7.2.0
- Elasticsearch version 7.1.1
- Elasticsearch version 7.1.0
- Elasticsearch version 7.0.0
- Elasticsearch version 7.0.0-rc2
- Elasticsearch version 7.0.0-rc1
- Elasticsearch version 7.0.0-beta1
- Elasticsearch version 7.0.0-alpha2
- Elasticsearch version 7.0.0-alpha1
IMPORTANT: No additional bug fixes or documentation updates
will be released for this version. For the latest information, see the
current release documentation.
Elasticsearch version 7.5.0
edit
IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.
Elasticsearch version 7.5.0
editAlso see Breaking changes in 7.5.
Known issues
edit- Applying deletes or updates on an index after it has been shrunk may corrupt the index. In order to prevent this issue, it is recommended to stop shrinking read-write indices. For read-only indices, it is recommended to force-merge indices after shrinking, which significantly reduces the likeliness of this corruption in the case that deletes/updates would be applied by mistake. This bug is fixed in Elasticsearch 7.7 and later versions. More details can be found on the corresponding issue.
- Stop all transforms during a rolling upgrade to 7.5. If a transform is running during upgrade, the transform audit index might disappear. (issue: #49730)
-
Indices created in 6.x with
date
anddate_nanos
fields using formats that are incompatible with java.time patterns will cause parsing errors, incorrect date calculations or wrong search results. https://github.com/elastic/elasticsearch/pull/52555 This is fixed in Elasticsearch 7.7 and later versions.
Breaking changes
editDeprecations
edit- Aggregations
- Allocation
- Mapping
- Search
New features
edit- Features/ILM+SLM
- Features/Ingest
- Machine Learning
- SQL
-
- SQL: Implement DATEDIFF function #47920 (issue: #47919)
- SQL: Implement DATEADD function #47747 (issue: #47746)
- SQL: Implement DATE_PART function #47206 (issue: #46372)
- SQL: Add alias DATETRUNC to DATE_TRUNC function #47173 (issue: #46473)
- SQL: Add PIVOT support #46489
- SQL: Implement DATE_TRUNC function #46473 (issue: #46319)
Enhancements
edit- Aggregations
- Allocation
- Authorization
- CCR
- CRUD
-
- Allow optype CREATE for append-only indexing operations #47169
- Cluster Coordination
- Engine
-
- Do not warm up searcher in engine constructor #48605 (issue: #47186)
- Refresh should not acquire readLock #48414 (issue: #47186)
- Avoid unneeded refresh with concurrent realtime gets #47895
- sync before trimUnreferencedReaders to improve index preformance #47790 (issues: #46201, #46203)
- Limit number of retaining translog files for peer recovery #47414
- Remove isRecovering method from Engine #47039
- Features/ILM+SLM
-
- Separate SLM stop/start/status API from ILM #47710 (issue: #43663)
- Set default SLM retention invocation time #47604 (issue: #43663)
- ILM: Skip rolling indexes that are already rolled #47324 (issue: #44175)
- Add support for POST requests to SLM Execute API #47061
- Wait for snapshot completion in SLM snapshot invocation #47051 (issues: #38461, #43663)
- Add node setting for disabling SLM #46794 (issue: #38461)
- ILM: parse origination date from index name #46755 (issues: #42449, #46561)
- [ILM] Add date setting to calculate index age #46561 (issue: #42449)
- Features/Ingest
-
- Add the ability to require an ingest pipeline #46847
- Features/Java High Level REST Client
- Features/Java Low Level REST Client
- Features/Monitoring
-
- Remove hard coded version_created in default monitoring alerts #47744
- Infra/Circuit Breakers
- Infra/Core
- Infra/Packaging
- Infra/Scripting
-
- Add explanations to script score queries #46693
- Infra/Settings
- Machine Learning
-
- Throw an exception when memory usage estimation endpoint encounters empty data frame. #49143 (issue: #49140)
- Change format of MulticlassConfusionMatrix result to be more self-explanatory #48174 (issue: #46735)
- Make num_top_classes parameter’s default value equal to 2 #48119 (issue: #46735)
- [ML] Add option to stop datafeed that finds no data #47922
- Allow integer types for classification’s dependent variable #47902 (issue: #46735)
- [ML] Add lazy assignment job config option #47726
- [ML] Additional outlier detection parameters #47600
- [ML] More accurate job memory overhead #47516
- [ML] Throttle the delete-by-query of expired results #47177 (issues: #47003, #47103)
- Mapping
- Network
- Recovery
- SQL
-
- SQL: make date/datetime and interval types compatible in conditional functions #47595 (issue: #46674)
- SQL: use calendar interval of 1y instead of fixed interval for grouping by YEAR and HISTOGRAMs #47558 (issue: #40162)
- SQL: Support queries with HAVING over SELECT #46709 (issue: #37051)
- SQL: Add support for shape type #46464 (issues: #43644, #46412)
- Search
-
- Remove response search phase from ExpandSearchPhase #48401
- Add builder for distance_feature to QueryBuilders #47846 (issue: #47767)
- Fold InitialSearchPhase into AbstractSearchAsyncAction #47182
- max_children exist only in top level nested sort #46731
- First round of optimizations for vector functions. #46294 (issues: #45390, #45936, #46103, #46155, #46190, #46202)
-
Throw exception in scroll requests using
from
#46087 (issues: #26235, #44493, #9373)
- Snapshot/Restore
- Transform
Bug fixes
edit- Aggregations
- Allocation
- Analysis
- Audit
- Authentication
-
- Add owner flag parameter to the rest spec #48500 (issue: #48499)
- Add populate_user_metadata in OIDC realm #48357 (issue: #48217)
- Remove unnecessary details logged for OIDC #48271
- Fix AD realm additional metadata #47179 (issue: #45848)
- Fallback to realm authc if ApiKey fails #46538
- PKI realm accept only verified certificates #45590
- Authorization
-
- Fix security origin for TokenService#findActiveTokensFor… #47418 (issue: #47151)
- Use should clause instead of filter when querying native privileges #47019
- Do not rewrite aliases on remove-index from aliases requests #46989
- Validate index and cluster privilege names when creating a role #46361 (issue: #29703)
-
Validate
query
field when creating roles #46275 (issue: #34252)
- CCR
- CRUD
- Client
-
- Correct default refresh policy for security APIs #46896
- Cluster Coordination
- Distributed
- Engine
- Features/ILM+SLM
-
- Don’t halt policy execution on policy trigger exception #49128
- Don’t schedule SLM jobs when services have been stopped #48658 (issue: #47749)
- Ensure SLM stats does not block an in-place upgrade from 7.4 #48367
- Ensure SLM stats does not block an in-place upgrade from 7.4 #48361
- Add SLM support to xpack usage and info APIs #48096 (issue: #43663)
- Change policy_id to list type in slm.get_lifecycle #47766 (issue: #47765)
- Throw error retrieving non-existent SLM policy #47679 (issue: #47664)
- Handle partial failure retrieving segments in SegmentCountStep #46556
- Fixes for API specification #46522
- Features/Indices APIs
- Features/Ingest
- Features/Java High Level REST Client
-
- fix incorrect comparison #48208
- Fix ILM HLRC Javadoc→Documentation links #48083
- Change HLRC count request to accept a QueryBuilder #46904 (issue: #46829)
- [HLRC] Send min_score as query string parameter to the count API #46829 (issue: #46474)
- HLRC multisearchTemplate forgot params #46492 (issue: #46488)
- Added fields for MultiTermVectors (#42232) #42877 (issue: #42232)
- Features/Java Low Level REST Client
- Features/Monitoring
- Features/Watcher
- Geo
-
- Geo: implement proper handling of out of bounds geo points #47734 (issue: #43916)
- Geo: Fixes indexing of linestrings that go around the globe #47471 (issues: #43826, #43837)
- Provide better error when updating geo_shape field mapper settings #47281 (issue: #47006)
- Geo: fix indexing of west to east linestrings crossing the antimeridian #46601 (issue: #43775)
- Reset queryGeometry in ShapeQueryTests #45974 (issue: #45628)
- Highlighting
- Infra/Core
- Infra/Logging
- Infra/Scripting
- Machine Learning
-
- [ML] Fixes for stop datafeed edge cases #49191 (issues: #43670, #48931)
- [ML] Avoid NPE when node load is calculated on job assignment #49186 (issue: #49150)
- Do not throw exceptions resulting from persisting datafeed timing stats. #49044 (issue: #49032)
- [ML] Deduplicate multi-fields for data frame analytics #48799 (issues: #48756, #48770)
- [ML] Prevent fetching multi-field from source #48770 (issue: #48756)
- [ML] Fix detection of syslog-like timestamp in find_file_structure #47970
- Fix serialization of evaluation response. #47557
- [ML] Reinstate ML daily maintenance actions #47103 (issue: #47003)
- [ML] fix two datafeed flush lockup bugs #46982
- Network
- Recovery
-
- Ignore Lucene index in peer recovery if translog corrupted #49114
- Reindex
-
- Fix issues with serializing BulkByScrollResponse #45357
- SQL
-
- SQL: Fix issue with mins & hours for DATEDIFF #49252
- SQL: Fix issue with negative literels and parentheses #48113 (issue: #48009)
- SQL: add "format" for "full" date range queries #48073 (issue: #48033)
- SQL: Fix arg verification for DateAddProcessor #48041
- SQL: Fix Nullability of DATEADD #47921
- SQL: Allow whitespaces in escape patterns #47577 (issue: #47401)
- SQL: fix multi full-text functions usage with aggregate functions #47444 (issue: #47365)
- SQL: Check case where the pivot limit is reached #47121 (issue: #47002)
- SQL: Properly handle indices with no/empty mapping #46775 (issue: #46757)
- SQL: improve ResultSet behavior when no rows are available #46753 (issue: #46750)
- SQL: use the correct data type for types conversion #46574 (issue: #46090)
- SQL: Fix issue with common type resolution #46565 (issue: #46551)
- SQL: fix scripting for grouped by datetime functions #46421 (issue: #40241)
- SQL: Use null schema response #46386 (issue: #46381)
- SQL: Fix issue with IIF function when condition folds #46290 (issue: #46268)
- SQL: Fix issue with DataType for CASE with NULL #46173 (issue: #46032)
- SQL: Failing Group By queries due to different ExpressionIds #43072 (issues: #33361, #34543, #36074, #37044, #40001, #40240, #41159, #42041, #46316)
- SQL: wrong number of values for columns #42122
- Search
-
- Lucene#asSequentialBits gets the leadCost backwards. #48335
- Ensure that we don’t call listener twice when detecting a partial failures in _search #47694
- Fix alias field resolution in match query #47369
- Multi-get requests should wait for search active #46283 (issue: #27500)
- Resolve the incorrect scroll_current when delete or close index #45226
- Don’t apply the plugin’s reader wrapper in can_match phase #47816 (issue: #46817)
- Security
- Snapshot/Restore
-
- Fix RepoCleanup not Removed on Master-Failover #49217
- Make FsBlobContainer Listing Resilient to Concurrent Modifications #49142 (issue: #37581)
- Fix SnapshotShardStatus Reporting for Failed Shard #48556 (issue: #48526)
- Cleanup Concurrent RepositoryData Loading #48329 (issue: #48122)
- Fix Bug in Azure Repo Exception Handling #47968
- Make loadShardSnapshot Exceptions Consistent #47728 (issue: #47507)
- Fix Snapshot Corruption in Edge Case #47552 (issues: #46250, #47550)
- Fix Bug in Snapshot Status Response Timestamps #46919 (issue: #46913)
- Normalize Blob Store Repo Paths #46869 (issue: #41814)
- GCS deleteBlobsIgnoringIfNotExists should catch StorageException #46832 (issue: #46772)
- Execute SnapshotsService Error Callback on Generic Thread #46277
- Make Snapshot Logic Write Metadata after Segments #45689 (issue: #41581)
- Store
-
- Allow truncation of clean translog #47866
- Task Management
-
- Fix .tasks index strict mapping: parent_id should be parent_task_id #48393
- Transform
-
- [Transform] do not fail checkpoint creation due to global checkpoint mismatch #48423 (issue: #48379)
- [7.5][Transform] prevent assignment if any node is older than 7.4 #48055 (issue: #48019)
- [Transform] prevent assignment to nodes older than 7.4 #48044 (issue: #48019)
- [ML][Transforms] fix bwc serialization with 7.3 #48021
- [ML][Transforms] signal listener early on task _stop failure #47954
- [ML][Transform] Use field_caps API for mapping deduction #46703 (issue: #46694)
- [ML-DataFrame] Fix off-by-one error in checkpoint operations_behind #46235
Regressions
edit- Aggregations
- Infra/Core
Upgrades
editOn this page
Was this helpful?
Thank you for your feedback.