- Elasticsearch Guide: other versions:
- Getting Started
- 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
- Starting Elasticsearch
- Stopping Elasticsearch
- Adding nodes to your cluster
- Installing X-Pack
- Set up X-Pack
- Configuring X-Pack Java Clients
- X-Pack Settings
- Bootstrap Checks for X-Pack
- Upgrade Elasticsearch
- API Conventions
- Document APIs
- Search APIs
- 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
- Global Aggregation
- Histogram Aggregation
- IP Range Aggregation
- Missing Aggregation
- Nested Aggregation
- Parent Aggregation
- Range Aggregation
- Reverse nested Aggregation
- Sampler Aggregation
- Significant Terms Aggregation
- Significant Text Aggregation
- Terms Aggregation
- 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
- 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
- Indices APIs
- Create Index
- Delete Index
- Get Index
- Indices Exists
- Open / Close Index API
- Shrink Index
- Split Index
- Rollover Index
- Put Mapping
- Get Mapping
- Get Field Mapping
- Types Exists
- Index Aliases
- Update Indices Settings
- Get Settings
- Analyze
- Index Templates
- Indices Stats
- Indices Segments
- Indices Recovery
- Indices Shard Stores
- Clear Cache
- Flush
- Refresh
- Force Merge
- cat APIs
- Cluster APIs
- Query DSL
- Mapping
- Analysis
- Anatomy of an analyzer
- Testing analyzers
- Analyzers
- Normalizers
- Tokenizers
- Standard Tokenizer
- Letter Tokenizer
- Lowercase Tokenizer
- Whitespace Tokenizer
- UAX URL Email Tokenizer
- Classic Tokenizer
- Thai Tokenizer
- NGram Tokenizer
- Edge NGram Tokenizer
- Keyword Tokenizer
- Pattern Tokenizer
- Char Group Tokenizer
- Simple Pattern Tokenizer
- Simple Pattern Split Tokenizer
- Path Hierarchy Tokenizer
- Path Hierarchy Tokenizer Examples
- Token Filters
- Standard Token Filter
- ASCII Folding Token Filter
- Flatten Graph Token Filter
- Length Token Filter
- Lowercase Token Filter
- Uppercase Token Filter
- NGram Token Filter
- Edge NGram Token Filter
- Porter Stem Token Filter
- Shingle Token Filter
- Stop Token Filter
- Word Delimiter Token Filter
- Word Delimiter Graph Token Filter
- Multiplexer Token Filter
- Conditional Token Filter
- Predicate Token Filter Script
- Stemmer Token Filter
- Stemmer Override Token Filter
- Keyword Marker Token Filter
- Keyword Repeat Token Filter
- KStem Token Filter
- Snowball Token Filter
- Phonetic Token Filter
- Synonym Token Filter
- Parsing synonym files
- Synonym Graph Token Filter
- Compound Word Token Filters
- Reverse Token Filter
- Elision Token Filter
- Truncate Token Filter
- Unique Token Filter
- Pattern Capture Token Filter
- Pattern Replace Token Filter
- Trim Token Filter
- Limit Token Count Token Filter
- Hunspell Token Filter
- Common Grams Token Filter
- Normalization Token Filter
- CJK Width Token Filter
- CJK Bigram Token Filter
- Delimited Payload Token Filter
- Keep Words Token Filter
- Keep Types Token Filter
- Exclude mode settings example
- Classic Token Filter
- Apostrophe Token Filter
- Decimal Digit Token Filter
- Fingerprint Token Filter
- MinHash Token Filter
- Remove Duplicates Token Filter
- Character Filters
- Modules
- Index Modules
- Ingest Node
- Pipeline Definition
- Ingest APIs
- Accessing Data in Pipelines
- Conditional Execution in Pipelines
- Handling Failures in Pipelines
- Processors
- Append Processor
- Bytes Processor
- Convert Processor
- Date Processor
- Date Index Name Processor
- Dissect Processor
- Dot Expander Processor
- Drop Processor
- Fail Processor
- Foreach Processor
- GeoIP Processor
- Grok Processor
- Gsub Processor
- Join Processor
- JSON Processor
- KV 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
- SQL Access
- Monitor a cluster
- Rolling up historical data
- Frozen indices
- Set up a cluster for high availability
- Secure a cluster
- Overview
- Configuring security
- Encrypting communications in Elasticsearch
- Encrypting communications in an Elasticsearch Docker Container
- Enabling cipher suites for stronger encryption
- Separating node-to-node and client traffic
- Configuring an Active Directory realm
- Configuring a file realm
- Configuring an LDAP realm
- Configuring a native realm
- Configuring a PKI realm
- Configuring a SAML realm
- Configuring a Kerberos realm
- FIPS 140-2
- Security settings
- Security files
- Auditing Settings
- How security works
- 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
- 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
- User authorization
- Auditing security events
- Encrypting communications
- Restricting connections with IP filtering
- Cross cluster search, tribe, clients, and integrations
- Tutorial: Getting started with security
- Tutorial: Encrypting communications
- Troubleshooting
- Can’t log in after upgrading to 6.7.2
- 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
- X-Pack APIs
- Info API
- Cross-cluster replication APIs
- Explore API
- Freeze index
- Index lifecycle management API
- Licensing APIs
- Migration APIs
- Machine learning APIs
- Add events to calendar
- Add jobs to calendar
- Close jobs
- Create calendar
- Create datafeeds
- Create filter
- Create jobs
- 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 calendars
- Get buckets
- Get overall buckets
- Get categories
- Get datafeeds
- Get datafeed statistics
- Get influencers
- Get jobs
- Get job statistics
- Get machine learning info
- Get model snapshots
- 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
- Rollup 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
- Delete application privileges
- Delete role mappings
- Delete roles
- Delete users
- Disable users
- Enable users
- Get API key information
- Get application privileges
- Get role mappings
- Get roles
- Get token
- Get users
- Has privileges
- Invalidate API key
- Invalidate token
- SSL certificate
- Unfreeze index
- Watcher APIs
- Definitions
- Release Highlights
- Breaking changes
- Release Notes
- Elasticsearch version 6.7.2
- Elasticsearch version 6.7.1
- Elasticsearch version 6.7.0
- Elasticsearch version 6.6.2
- Elasticsearch version 6.6.1
- Elasticsearch version 6.6.0
- Elasticsearch version 6.5.4
- Elasticsearch version 6.5.3
- Elasticsearch version 6.5.2
- Elasticsearch version 6.5.1
- Elasticsearch version 6.5.0
- Elasticsearch version 6.4.3
- Elasticsearch version 6.4.2
- Elasticsearch version 6.4.1
- Elasticsearch version 6.4.0
- Elasticsearch version 6.3.2
- Elasticsearch version 6.3.1
- Elasticsearch version 6.3.0
- Elasticsearch version 6.2.4
- Elasticsearch version 6.2.3
- Elasticsearch version 6.2.2
- Elasticsearch version 6.2.1
- Elasticsearch version 6.2.0
- Elasticsearch version 6.1.4
- Elasticsearch version 6.1.3
- Elasticsearch version 6.1.2
- Elasticsearch version 6.1.1
- Elasticsearch version 6.1.0
- Elasticsearch version 6.0.1
- Elasticsearch version 6.0.0
- Elasticsearch version 6.0.0-rc2
- Elasticsearch version 6.0.0-rc1
- Elasticsearch version 6.0.0-beta2
- Elasticsearch version 6.0.0-beta1
- Elasticsearch version 6.0.0-alpha2
- Elasticsearch version 6.0.0-alpha1
- Elasticsearch version 6.0.0-alpha1 (Changes previously released in 5.x)
Mathematical Functions
editMathematical Functions
editAll math and trigonometric functions require their input (where applicable) to be numeric.
Generic
editABS
editSynopsis:
Input:
Output: numeric
Description:Returns the absolute value of numeric_exp
. The return type is the same as the input type.
SELECT ABS(-123.5), ABS(55); ABS(-123.5) | ABS(55) ---------------+--------------- 123.5 |55
CBRT
editSynopsis:
Input:
Output: double numeric value
Description:Returns the cube root of numeric_exp
.
SELECT CBRT(-125.5); CBRT(-125.5) ------------------- -5.0066577974783435
CEIL/CEILING
editSynopsis:
Input:
Output: integer or long numeric value
Description:Returns the smallest integer greater than or equal to numeric_exp
.
SELECT CEIL(125.01), CEILING(-125.99); CEIL(125.01) |CEILING(-125.99) ---------------+---------------- 126 |-125
E
editSynopsis:
E()
Input: none
Output: 2.718281828459045
Description:Returns Euler’s number.
SELECT E(), CEIL(E()); E() | CEIL(E()) -----------------+--------------- 2.718281828459045|3
EXP
editSynopsis:
Input:
Output: double numeric value
Description:Returns Euler’s number at the power of numeric_exp
enumeric_exp.
SELECT EXP(1), E(), EXP(2), E() * E(); EXP(1) | E() | EXP(2) | E() * E() -----------------+-----------------+----------------+------------------ 2.718281828459045|2.718281828459045|7.38905609893065|7.3890560989306495
EXPM1
editSynopsis:
Input:
Output: double numeric value
Description:Returns Euler’s number at the power of numeric_exp
minus 1 (enumeric_exp - 1).
SELECT E(), EXP(2), EXPM1(2); E() | EXP(2) | EXPM1(2) -----------------+----------------+---------------- 2.718281828459045|7.38905609893065|6.38905609893065
FLOOR
editSynopsis:
Input:
Output: integer or long numeric value
Description:Returns the largest integer less than or equal to numeric_exp
.
SELECT FLOOR(125.01), FLOOR(-125.99); FLOOR(125.01) |FLOOR(-125.99) ---------------+--------------- 125 |-126
LOG
editSynopsis:
Input:
Output: double numeric value
Description:Returns the natural logarithm of numeric_exp
.
SELECT EXP(3), LOG(20.085536923187668); EXP(3) |LOG(20.085536923187668) ------------------+----------------------- 20.085536923187668|3.0
LOG10
editSynopsis:
Input:
Output: double numeric value
Description:Returns the base 10 logarithm of numeric_exp
.
SELECT LOG10(5), LOG(5)/LOG(10); LOG10(5) | LOG(5)/LOG(10) ------------------+----------------------- 0.6989700043360189|0.6989700043360187
PI
editSynopsis:
PI()
Input: none
Output: 3.141592653589793
Description:Returns PI number.
SELECT PI(); PI() ----------------- 3.141592653589793
POWER
editSynopsis:
Input:
Output: double numeric value
Description:Returns the value of numeric_exp
to the power of integer_exp
.
SELECT POWER(3, 2), POWER(3, 3); POWER(3, 2) | POWER(3, 3) ---------------+--------------- 9.0 |27.0
SELECT POWER(5, -1), POWER(5, -2); POWER(5, -1) | POWER(5, -2) ---------------+--------------- 0.2 |0.04
RANDOM/RAND
editSynopsis:
Input:
Output: double numeric value
Description:Returns a random double using the given seed.
SELECT RANDOM(123); RANDOM(123) ------------------ 0.7231742029971469
ROUND
editSynopsis:
Input:
Output: numeric
Description:Returns numeric_exp
rounded to integer_exp
places right of the decimal point. If integer_exp
is negative,
numeric_exp
is rounded to |integer_exp
| places to the left of the decimal point. If integer_exp
is omitted,
the function will perform as if integer_exp
would be 0. The returned numeric data type is the same as the data type
of numeric_exp
.
SELECT ROUND(-345.153, 1) AS rounded; rounded --------------- -345.2
SELECT ROUND(-345.153, -1) AS rounded; rounded --------------- -350.0
SIGN/SIGNUM
editSynopsis:
Input:
Output: [-1, 0, 1]
Description:Returns an indicator of the sign of numeric_exp
. If numeric_exp
is less than zero, –1 is returned. If numeric_exp
equals zero, 0 is returned. If numeric_exp
is greater than zero, 1 is returned.
SELECT SIGN(-123), SIGN(0), SIGN(415); SIGN(-123) | SIGN(0) | SIGN(415) ---------------+---------------+--------------- -1 |0 |1
SQRT
editSynopsis:
Input:
Output: double numeric value
Description:Returns square root of numeric_exp
.
SELECT SQRT(EXP(2)), E(), SQRT(25); SQRT(EXP(2)) | E() | SQRT(25) -----------------+-----------------+--------------- 2.718281828459045|2.718281828459045|5.0
TRUNCATE
editSynopsis:
Input:
Output: numeric
Description:Returns numeric_exp
truncated to integer_exp
places right of the decimal point. If integer_exp
is negative,
numeric_exp
is truncated to |integer_exp
| places to the left of the decimal point. If integer_exp
is omitted,
the function will perform as if integer_exp
would be 0. The returned numeric data type is the same as the data type
of numeric_exp
.
SELECT TRUNCATE(-345.153, 1) AS trimmed; trimmed --------------- -345.1
SELECT TRUNCATE(-345.153, -1) AS trimmed; trimmed --------------- -340.0
Trigonometric
editACOS
editSynopsis:
Input:
Output: double numeric value
Description:Returns the arccosine of numeric_exp
as an angle, expressed in radians.
SELECT ACOS(COS(PI())), PI(); ACOS(COS(PI())) | PI() -----------------+----------------- 3.141592653589793|3.141592653589793
ASIN
editSynopsis:
Input:
Output: double numeric value
Description:Returns the arcsine of numeric_exp
as an angle, expressed in radians.
SELECT ROUND(DEGREES(ASIN(0.7071067811865475))) AS "ASIN(0.707)", ROUND(SIN(RADIANS(45)), 3) AS "SIN(45)"; ASIN(0.707) | SIN(45) ---------------+--------------- 45.0 |0.707
ATAN
editSynopsis:
Input:
Output: double numeric value
Description:Returns the arctangent of numeric_exp
as an angle, expressed in radians.
SELECT DEGREES(ATAN(TAN(RADIANS(90)))); DEGREES(ATAN(TAN(RADIANS(90)))) ------------------------------- 90.0
ATAN2
editSynopsis:
Input:
Output: double numeric value
Description:Returns the arctangent of the ordinate
and abscisa
coordinates specified as an angle, expressed in radians.
SELECT ATAN2(5 * SIN(RADIANS(45)), 5 * COS(RADIANS(45))) AS "ATAN2(5*SIN(45), 5*COS(45))", RADIANS(45); ATAN2(5*SIN(45), 5*COS(45))| RADIANS(45) ---------------------------+------------------ 0.7853981633974483 |0.7853981633974483
COS
editSynopsis:
Input:
Output: double numeric value
Description:Returns the cosine of numeric_exp
, where numeric_exp
is an angle expressed in radians.
SELECT COS(RADIANS(180)), POWER(SIN(RADIANS(54)), 2) + POWER(COS(RADIANS(54)), 2) AS pythagorean_identity; COS(RADIANS(180))|pythagorean_identity -----------------+-------------------- -1.0 |1.0
COSH
editSynopsis:
Input:
Output: double numeric value
Description:Returns the hyperbolic cosine of numeric_exp
.
SELECT COSH(5), (POWER(E(), 5) + POWER(E(), -5)) / 2 AS "(e^5 + e^-5)/2"; COSH(5) | (e^5 + e^-5)/2 -----------------+----------------- 74.20994852478785|74.20994852478783
COT
editSynopsis:
Input:
Output: double numeric value
Description:Returns the cotangent of numeric_exp
, where numeric_exp
is an angle expressed in radians.
SELECT COT(RADIANS(30)) AS "COT(30)", COS(RADIANS(30)) / SIN(RADIANS(30)) AS "COS(30)/SIN(30)"; COT(30) | COS(30)/SIN(30) ------------------+------------------ 1.7320508075688774|1.7320508075688776
DEGREES
editSynopsis:
Input:
Output: double numeric value
Description:Convert from radians to degrees.
SELECT DEGREES(PI() * 2), DEGREES(PI()); DEGREES(PI() * 2)| DEGREES(PI()) -----------------+--------------- 360.0 |180.0
RADIANS
editSynopsis:
Input:
Output: double numeric value
Description:Convert from degrees to radians.
SELECT RADIANS(90), PI()/2; RADIANS(90) | PI()/2 ------------------+------------------ 1.5707963267948966|1.5707963267948966
SIN
editSynopsis:
Input:
Output: double numeric value
Description:Returns the sine of numeric_exp
, where numeric_exp
is an angle expressed in radians.
SELECT SIN(RADIANS(90)), POWER(SIN(RADIANS(67)), 2) + POWER(COS(RADIANS(67)), 2) AS pythagorean_identity; SIN(RADIANS(90))|pythagorean_identity ----------------+-------------------- 1.0 |1.0
SINH
editSynopsis:
Input:
Output: double numeric value
Description:Returns the hyperbolic sine of numeric_exp
.
SELECT SINH(5), (POWER(E(), 5) - POWER(E(), -5)) / 2 AS "(e^5 - e^-5)/2"; SINH(5) | (e^5 - e^-5)/2 -----------------+----------------- 74.20321057778875|74.20321057778874
TAN
editSynopsis:
Input:
Output: double numeric value
Description:Returns the tangent of numeric_exp
, where numeric_exp
is an angle expressed in radians.
SELECT TAN(RADIANS(66)) AS "TAN(66)", SIN(RADIANS(66))/COS(RADIANS(66)) AS "SIN(66)/COS(66)=TAN(66)"; TAN(66) |SIN(66)/COS(66)=TAN(66) ------------------+----------------------- 2.2460367739042164|2.246036773904216
On this page