mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-04-25 07:37:19 -04:00
[DOCS] Warn only one date format is added to the field date formats when using dynamic_date_formats (#88915)
* [DOCS] Warn only one date format is added to the field date formats When using multiple options in `dynamic_date_formats`, only one of the formats of the first document having a date matching one of the date formats provided will be used. E.g. ``` PUT my-index-000001 { "mappings": { "dynamic_date_formats": [ "yyyy/MM", "MM/dd/yyyy"] } } PUT my-index-000001/_doc/1 { "create_date": "09/25/2015" } ``` The generated mappings will be: ``` "mappings": { "dynamic_date_formats": [ "yyyy/MM", "MM/dd/yyyy" ], "properties": { "create_date": { "type": "date", "format": "MM/dd/yyyy" } } }, ``` Indexing a document with `2015/12` would lead to the `format` `"yyyy/MM"` being used for the `create_date`. This can be misleading especially if the user is using multiple date formats on the same field. The first document will determine the format of the `date` field being detected. Maybe we should provide an additional example, such as: ``` PUT my-index-000001 { "mappings": { "dynamic_date_formats": [ "yyyy/MM||MM/dd/yyyy"] } } ``` My wording is not great, so feel free to amend/edit. * Update docs/reference/mapping/dynamic/field-mapping.asciidoc Reword and add code example * Turned discussion of the two syntaxes into an admonition * Fix failing tests Co-authored-by: Abdon Pijpelink <abdon.pijpelink@elastic.co>
This commit is contained in:
parent
616fd07278
commit
2d3bcc483d
1 changed files with 101 additions and 0 deletions
|
@ -114,6 +114,107 @@ PUT my-index-000001/_doc/1
|
|||
}
|
||||
--------------------------------------------------
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
There is a difference between configuring an array of date patterns and
|
||||
configuring multiple patterns in a single string separated by `||`. When you
|
||||
configure an array of date patterns, the pattern that matches the date in the
|
||||
first document with an unmapped date field will determine the mapping of that
|
||||
field:
|
||||
|
||||
[source,console]
|
||||
--------------------------------------------------
|
||||
PUT my-index-000001
|
||||
{
|
||||
"mappings": {
|
||||
"dynamic_date_formats": [ "yyyy/MM", "MM/dd/yyyy"]
|
||||
}
|
||||
}
|
||||
|
||||
PUT my-index-000001/_doc/1
|
||||
{
|
||||
"create_date": "09/25/2015"
|
||||
}
|
||||
--------------------------------------------------
|
||||
|
||||
The resulting mapping will be:
|
||||
|
||||
////
|
||||
[source,console]
|
||||
----
|
||||
GET my-index-000001/_mapping
|
||||
----
|
||||
//TEST[continued]
|
||||
////
|
||||
|
||||
[source,console-result]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"my-index-000001": {
|
||||
"mappings": {
|
||||
"dynamic_date_formats": [
|
||||
"yyyy/MM",
|
||||
"MM/dd/yyyy"
|
||||
],
|
||||
"properties": {
|
||||
"create_date": {
|
||||
"type": "date",
|
||||
"format": "MM/dd/yyyy"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
--------------------------------------------------
|
||||
|
||||
Configuring multiple patterns in a single string separated by `||` results in a
|
||||
mapping that supports any of the date formats. This enables you to index
|
||||
documents that use different formats:
|
||||
|
||||
[source,console]
|
||||
--------------------------------------------------
|
||||
PUT my-index-000001
|
||||
{
|
||||
"mappings": {
|
||||
"dynamic_date_formats": [ "yyyy/MM||MM/dd/yyyy"]
|
||||
}
|
||||
}
|
||||
|
||||
PUT my-index-000001/_doc/1
|
||||
{
|
||||
"create_date": "09/25/2015"
|
||||
}
|
||||
--------------------------------------------------
|
||||
|
||||
The resulting mapping will be:
|
||||
|
||||
////
|
||||
[source,console]
|
||||
----
|
||||
GET my-index-000001/_mapping
|
||||
----
|
||||
//TEST[continued]
|
||||
////
|
||||
|
||||
[source,console-result]
|
||||
--------------------------------------------------
|
||||
{
|
||||
"my-index-000001": {
|
||||
"mappings": {
|
||||
"dynamic_date_formats": [
|
||||
"yyyy/MM||MM/dd/yyyy"
|
||||
],
|
||||
"properties": {
|
||||
"create_date": {
|
||||
"type": "date",
|
||||
"format": "yyyy/MM||MM/dd/yyyy"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
--------------------------------------------------
|
||||
====
|
||||
|
||||
[[numeric-detection]]
|
||||
==== Numeric detection
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue