Importer et indexer un document JSON en plusieurs documents

Bonjour à tous,

Après moults tentatives et un bon coup de pouce, j'ai enfin réussi à importer et indexer un document en JSON sur Elasticsearch.

Le problème est qu'il a importé 36000 lignes dans un seul document. Et Kibana ne semble pas apprécier. Quand je tente de créer un index pattern, il me sort cette erreur:
"Payload content length greater than maximum allowed: 1048576"

Je pense qu'il vaudrait mieux diviser ce document sur le critère "_source" (qui a un effectif de 96). J'obtiendrais donc 96 documents dans mon index.

Problème: Je n'arrive pas à trouver le bon paramétrage pour le faire. Est-ce possible? et si oui, comment et où le faire?

NB: Pour l'import j'ai utilisé Logstash avec HTTP Poller en input et Elasticsearch en output.

En vous remerciant par avance.

Cela semble vouloir dire que ce que tu as reçu en entrée de Logstash via le HTTP Poller est un seul évènement de 96 je-ne-sais-quoi.

Ca ressemble à quoi ce que tu as en entrée ?

C'est exactement ça.

Ca ressemble à un document JSON importé à partir d'une URL. Sa structure :

  "hits": [
                {
                    "_index": "json_10meilleurs_logs",
                    "_type": "logs",
                    "_id": "AWAxmwQu-DI0q0-iRw7m",
                    "_score": 1,
                    "_source": {
                        "source1": {
                            "1": { -
                                      -
                                      -
                                      -
                                        }
                            "2": { -
                                      -
                                      -
                                      -

                                        }
                                   .
                                   .

                             "6": { -
                                      -
                                      -
                                      -



                                        },

                 "source2": {
                            "1": { -
                                      -
                                      -
                                      -



                                        }
                            "2": { -
                                      -
                                      -
                                      -



                                        }
                                   .
                                   .
                             "6": { -
                                      -
                                      -
                                      -



                                    },

et dans "-source', il y a 96 entrées qui ont chacune des valeurs contenants +60 lignes chacune pour un total de 291 lignes pour chaque entrée de source.

Please format your code using </> icon as explained in this guide. It will make your post more readable.

Or use markdown style like:

```
CODE
```

Je pense qu'il te faut ça: https://www.elastic.co/guide/en/logstash/current/plugins-filters-split.html

Merci @dadoonet, j'ai passé l'après-midi sur ce problème. Après le passage en revue des paramètres de l'input plugin HTTP Poller, J'avais passé en revue tous les filtres de Logstash et j'ai dû passer à coté de celui-ci.

Merci encore pour ton aide et bonne journée

PS: j'ai mis en forme mon code :slight_smile: merci pour l'info

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