From e878d135447b5ffcef2ec10a67b81f1f35b0e3d8 Mon Sep 17 00:00:00 2001 From: Julie Tibshirani Date: Mon, 6 May 2019 11:52:22 -0700 Subject: [PATCH] Clarify that path_match also considers object fields. (#41658) The `path_match` and `path_unmatch` parameters in dynamic templates match on object fields in addition to leaf fields. This is not obvious and can cause surprising errors when a template is meant for a leaf field, but there are object fields that match. This PR adds a note to the docs to describe the current behavior. --- .../mapping/dynamic/templates.asciidoc | 29 +++++++++++++++++-- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/docs/reference/mapping/dynamic/templates.asciidoc b/docs/reference/mapping/dynamic/templates.asciidoc index a55fd98d91e67..c5109ab9c9fc3 100644 --- a/docs/reference/mapping/dynamic/templates.asciidoc +++ b/docs/reference/mapping/dynamic/templates.asciidoc @@ -198,14 +198,37 @@ PUT my_index PUT my_index/_doc/1 { "name": { - "first": "Alice", - "middle": "Mary", - "last": "White" + "first": "John", + "middle": "Winston", + "last": "Lennon" } } -------------------------------------------------- // CONSOLE +Note that the `path_match` and `path_unmatch` parameters match on object paths +in addition to leaf fields. As an example, indexing the following document will +result in an error because the `path_match` setting also matches the object +field `name.title`, which can't be mapped as text: + +[source,js] +-------------------------------------------------- +PUT my_index/_doc/2 +{ + "name": { + "first": "Paul", + "last": "McCartney", + "title": { + "value": "Sir", + "category": "order of chivalry" + } + } +} +-------------------------------------------------- +// CONSOLE +// TEST[continued] +// TEST[catch:bad_request] + [[template-variables]] ==== `{name}` and `{dynamic_type}`