# Indexation formats de dates en français

**URL:** https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573
**Category:** Discussions en français
**Created:** [July 2, 2017, 7:41pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573 "2017-07-02T19:41:27Z")
**Posts on this page:** 8
**Page:** 1

<div class="post-metadata">

### Author: ![Artusamak](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/artusamak/32/19706_2.png) [@Artusamak](https://discuss.elastic.co/u/Artusamak)
#### Post date: [July 2, 2017, 7:41pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/1 "2017-07-02T19:41:27Z")

</div>

Bonjour,

Je recherche en vain depuis 2 jours comment indéxer un champ de type date mais formaté en français.

Je cherche à indéxer un champ comme une date à partir du format suivant : `Mai 2017`. Sauf que... non.

Voici la définition de mon mapping :

```auto
    "mappings": {
      "customer": {
        "properties": {
          ...
          "billingDueDate": {
            "type": "date",
            "locale": "FRENCH",
            "format": "mmmm YYYY"
          },
          ...
        }
      }
    }

```

Et voici l'erreur retournée à l'indexation :

```auto
{
  "error": {
    "root_cause": [
      {
        "type": "mapper_parsing_exception",
        "reason": "failed to parse [billingDueDate]"
      }
    ],
    "type": "mapper_parsing_exception",
    "reason": "failed to parse [billingDueDate]",
    "caused_by": {
      "type": "illegal_argument_exception",
      "reason": "Invalid format: \"septembre 2014\""
    }
  },
  "status": 400
} 

```

J'ai lu sur [cette page de doc](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/date.html) qu'il était possible de déclarer dans son mapping une date comme étant dans un format custom et en français mais pour le moment je m'y prend mal car ES me jette à chaque fois à l'indexation d'un document.

Existe-t-il une page de doc qui décrit le format attendu pour "locale" ? J'ai testé sans succès :

- `FRENCH`
- `fr`
- `fr_FR`
- `french`

Dans mes recherche je suis tombé sur une utilisation possible des processors mais cela m'a l'air improbable : [https://www.elastic.co/guide/en/elasticsearch/reference/5.4/date-processor.html](https://www.elastic.co/guide/en/elasticsearch/reference/5.4/date-processor.html).

Avez-vous une suggestion / réponse sur la bonne façon de faire ?

Merci d'avance.

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 3, 2017, 10:28am UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/2 "2017-07-03T10:28:56Z")

</div>

J'ai essayé de "jouer" avec ton cas. A noter que le "bon" format semble être `MMM y` en fait.

```auto
DELETE test
PUT test
{
  "mappings": {
    "doc": {
      "properties": {
        "date": {
          "type": "date",
          "format": "MMM y",
          "locale": "FRENCH"
        }
      }
    }
  }
}
PUT test/doc/1
{
  "date": "may 2017"
}

```

J'ai ouvert ce bug:

> <https://github.com/elastic/elasticsearch/issues/25515>

Egalement le même problème pour ingest... Du coup j'ai des doutes sur mon test...

> <https://github.com/elastic/elasticsearch/issues/25513>

---

<div class="post-metadata">

### Author: ![Artusamak](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/artusamak/32/19706_2.png) [@Artusamak](https://discuss.elastic.co/u/Artusamak)
#### Post date: [July 3, 2017, 11:00am UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/3 "2017-07-03T11:00:03Z")

</div>

Merci pour ta réponse.

Hmm, c'est intéressant, je viens de tester avec ta solution et j'ai toujours le même problème.

J'ai constaté une chose qui pourrait peut être être relatée. Dans mon mapping, j'ai d'autres champs date et lorsque j'indexe un document et consulte l'index par l'onglet Discover, Kibana m'indique que mes champs date sont... du texte. Normal ? Je ne crois pas.

Définition de l'index :

```auto
DELETE invoices
PUT invoices
{
    "mappings": {
      "customer": {
        "properties": {
          ...
          "billingDueDate": {
            "type": "date",
            "format": "MMM y",
            "locale": "FRENCH"
          },
          "expectedPaymentDate": {
            "type": "date",
            "format": "dd/MM/YYYY"
          },
          "orderNumber": {
            "type": "text"
          },
          "vat": {
            "type": "float"
          }
          ...
        }
      }
    }
}

```

Exemple de données :

```auto
POST invoices/customer
  {
    "invoiceNumber": "16/09/F0173",
    "businessUnit": null,
    "project": "Gestion des titres",
    "status": "Facture réglée",
    "billingDueDate": "septembre 2014",
    "orderNumber": "1603-006",
    "expectedPaymentDate": "02/09/2016",
    "vat": 360
  }

```

Y aurait-il une config particulière à faire sur les dates qui me manquerait ?

Merci !

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 3, 2017, 11:56am UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/4 "2017-07-03T11:56:16Z")

</div>

La locale à utiliser est donc `fr`:

```auto
DELETE test
PUT test
{
  "mappings": {
    "doc": {
      "properties": {
        "date": {
          "type": "date",
          "format": "MMM y",
          "locale": "fr"
        }
      }
    }
  }
}
PUT test/doc/1
{
  "date": "mai 2017"
}

```

Fonctionne très bien.

---

<div class="post-metadata">

### Author: ![Artusamak](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/artusamak/32/19706_2.png) [@Artusamak](https://discuss.elastic.co/u/Artusamak)
#### Post date: [July 3, 2017, 2:39pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/5 "2017-07-03T14:39:55Z")

</div>

Yes, ça a l'air de bien tourner, merci à toi !

Du coup je repose la question des types de champs. Dans Management / mon index / Liste des champs, le type des champs qui est censé être "date" est affiché comme "string". Une idée de ce qui pourrait expliquer ça ? Je dois ouvrir un autre topic ?

---

<div class="post-metadata">

### Author: ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)
#### Post date: [July 3, 2017, 5:54pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/6 "2017-07-03T17:54:30Z")

</div>

Il faut que tu fasses un refresh de l'index pattern depuis Kibana.  
Pour que Kibana soit au courant du nouveau mapping

---

<div class="post-metadata">

### Author: ![Artusamak](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/artusamak/32/19706_2.png) [@Artusamak](https://discuss.elastic.co/u/Artusamak)
#### Post date: [July 3, 2017, 6:59pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/7 "2017-07-03T18:59:57Z")

</div>

Génial, tout est OK.

Merci à toi !

---

<div class="post-metadata">

### Author: ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)
#### Post date: [July 31, 2017, 7:00pm UTC](https://discuss.elastic.co/t/indexation-formats-de-dates-en-francais/91573/8 "2017-07-31T19:00:23Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
