# Impossible d'effectuer une requête en fonction d'une variable dans mon flux

**URL:** <https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221>\
**Category:** Discussions en français\
**Created:** [February 23, 2018, 1:47pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221 "2018-02-23T13:47:47Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![DiSiZ](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/disiz/32/60095_2.png) [@DiSiZ](https://discuss.elastic.co/u/DiSiZ)\
**Post date:** [February 23, 2018, 1:47pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/1 "2018-02-23T13:47:47Z")

</div>

Bonjour,

Je possède un problème que je n'arrive pas à résoudre sur ElasticSearch.  
Je vais essayer d'être le plus précis possible, j'ai accès à un flux JSON via une URL Elastic. J'effectue des requêtes à cette URL et j'y récupère le résultat de mes requêtes pour mon traitement.  
Cependant il y a deux objets dans le flux JSON où je n'arrive pas à avoir accès avec mes requêtes et je ne comprends pas pourquoi.

Voici le flux en question ainsi qu'un exemple de requête (je peux avoir cette trame x100000) :

```auto
{
_source: {
    city: "Paris",
    end: {
         lat: 48.878826,
         lon: 2.337034
    },
    turnType: "NONE",
    level: 2,
    ts_signal: "2018-02-08T17:56:26.046000+01:00",
    country: "FR",
    roadType: 1,
    delay: 70,
    start: {
        lat: 48.87972,
        lon: 2.332822
    },
    length: 324,
    street: "Rue la Bruyère",
    timestamp: "2018-02-08T17:04:27.070279+00:00",
    endNode: "Rue Notre-Dame de Lorette",
    speed: 2.175,
    id: 1107369744,
    pubMillis: 1518108986046,
    uuid: 1107369744
}
}
....

```

Voici un exemple de requête que je peux effectuer, par exemple pour obtenir les informations que je veux en fonction de la date :

```
/_search?q=timestamp: ["2018-02-08T17:04:00" TO "2018-02-08T17:06:00"]

```

Ce qui m'intéresse ce sont les informations contenues dans **Start** et **Stop** , donc _lat/lon_.  
J'ai donc essayé divers requêtes pour parvenir à trier en fonction de la valeur lat et lon du stop avec:

```
/_search?q=lat: ["48" TO "49"]

```

Cependant impossible d'accéder à ces valeurs pour moi.  
Si je n'est pas été assez précis et/ou que vous avez besoin de plus d'informations faites le moi savoir je suis disponible

Cordialement,

---

<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:** [February 23, 2018, 1:59pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/2 "2018-02-23T13:59:48Z")

</div>

Quel est le mapping?

Peux-tu partager un script complet qu'on puisse rejouer facilement le cas?

---

<div class="post-metadata">

**Author:** ![DiSiZ](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/disiz/32/60095_2.png) [@DiSiZ](https://discuss.elastic.co/u/DiSiZ)\
**Post date:** [February 23, 2018, 2:10pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/3 "2018-02-23T14:10:23Z")

</div>

Le mapping est celui que jai donné, il contient un grand nombre d'objet comme celui donné à la création du poste, après je l'est aussi en C# le mapping mais je ne pense pas que ca puisse aider.  
Malheureusement non je ne possède pas de script je n'est pas créer ce serveur Elastic je ne fait que des requêtes à son URL pour y récupérer des données.

---

<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:** [February 23, 2018, 2:26pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/4 "2018-02-23T14:26:37Z")

</div>

> Le mapping est celui que jai donné

Où ça ?

> Malheureusement non je ne possède pas de script

Démarre une instance locale, et créé un script depuis la console Dev dans Kibana.  
Puis partage ce script ici. Un exemple de script utile car exécutable par n'importe qui : [About the Elasticsearch category](https://discuss.elastic.co/t/about-the-elasticsearch-category/21).

---

<div class="post-metadata">

**Author:** ![DiSiZ](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/disiz/32/60095_2.png) [@DiSiZ](https://discuss.elastic.co/u/DiSiZ)\
**Post date:** [February 23, 2018, 3:48pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/5 "2018-02-23T15:48:39Z")

</div>

Je ne suis pas sûr de vraiment saisir les demandes 🤐

Ce que je veux c'est via une requête envoyé par URL (Lucene), récupérer des informations et donc j'ai accès à toute ces variables, street, delay, uuid etc...  
Je peux y avoir accès facilement juste en écrivant ma requête comme ceci :

```
_search?q=delay: 105

```

Cela me renverra tout les objets où le délai est à 105, cependant je ne peux pas utiliser les variables dans end et start dans mes requêtes.

Je pense cependant que end et start sont pris en compte et qu'il doit y avoir un moyen, car si je fais :

```
_search?q=end: *

```

Il me renvoie bien tout, n'y a t'il pas un moyen par exemple comme ceci:

```
_search?q=end.lat: * AND end.lon: *

```

Afin d'utiliser ces variables dans mes requêtes

---

<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:** [February 23, 2018, 4:01pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/6 "2018-02-23T16:01:26Z")

</div>

Ca dépend du mapping.

Pour que je vérifie, il faut un script qui reproduit le problème et que je peux modifier pour fixer ton problème.

Si c'est un geo\_point, il faut que tu fasses des geo\_distance query ou de geo bounding box. Mais ce n'est pas faisable dans l'URL. Il vaut mieux utiliser de toute façon le query DSL.

---

<div class="post-metadata">

**Author:** ![DiSiZ](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/disiz/32/60095_2.png) [@DiSiZ](https://discuss.elastic.co/u/DiSiZ)\
**Post date:** [February 23, 2018, 4:05pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/7 "2018-02-23T16:05:29Z")

</div>

Très bien je vais peut être me pencher plus en détail sur le query DSL.  
J'avais essaye je recevais bien les réponses de mes requêtes mais uniquement la valeur "count" j'avais le nombre attendu de réponse, mais toute les informations qui me sont essentiels (le DeserializeObject) n'étais pas accessible tout était en private j'avais donc décidé de rester en URL.

Merci beaucoup

---

<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:** [February 23, 2018, 4:19pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/8 "2018-02-23T16:19:13Z")

</div>

> Merci beaucoup

De rien.

Mais désolé d'être lourd et d'insister. Si tu as besoin d'aide à l'avenir, donne un script tel que celui qui est documenté ici: [About the Elasticsearch category](https://discuss.elastic.co/t/about-the-elasticsearch-category/21)

```auto
DELETE index
PUT index/doc/1
{
  "foo": "bar"
}
GET index/_search
{
  "query": {
    "match": {
      "foo": "bar"
    }
  }
}

```

Ceci est un script qui permet de reproduire des choses ^^^

Un autre exemple plus complexe:

> <https://gist.github.com/dadoonet/5179ee72ecbf08f12f53d4bda1b76bab>

Avec ce genre de script (qui nécessite un effort de ton côté, certes), tu maximises tes chances d'avoir:

- Une réponse
- Une réponse rapide

---

<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:** [March 23, 2018, 4:19pm UTC](https://discuss.elastic.co/t/impossible-deffectuer-une-requete-en-fonction-dune-variable-dans-mon-flux/121221/9 "2018-03-23T16:19:41Z")

</div>

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