This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
position_increment_gap
editposition_increment_gap
editAnalyzed text fields take term positions
into account, in order to be able to support
proximity or phrase queries.
When indexing text fields with multiple values a "fake" gap is added between
the values to prevent most phrase queries from matching across the values. The
size of this gap is configured using position_increment_gap
and defaults to
100
.
For example:
PUT my-index-000001/_doc/1 { "names": [ "John Abraham", "Lincoln Smith"] } GET my-index-000001/_search { "query": { "match_phrase": { "names": { "query": "Abraham Lincoln" } } } } GET my-index-000001/_search { "query": { "match_phrase": { "names": { "query": "Abraham Lincoln", "slop": 101 } } } }
This phrase query doesn’t match our document which is totally expected. |
|
This phrase query matches our document, even though |
The position_increment_gap
can be specified in the mapping. For instance: