# Aide pour une query ES

**URL:** https://discuss.elastic.co/t/aide-pour-une-query-es/37487
**Category:** Discussions en français
**Created:** [December 17, 2015, 3:51pm UTC](https://discuss.elastic.co/t/aide-pour-une-query-es/37487 "2015-12-17T15:51:22Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![bouli](https://avatars.discourse-cdn.com/v4/letter/b/b5e925/32.png) [@bouli](https://discuss.elastic.co/u/bouli)
#### Post date: [December 17, 2015, 3:51pm UTC](https://discuss.elastic.co/t/aide-pour-une-query-es/37487/1 "2015-12-17T15:51:22Z")

</div>

Bonjour,

je souhaite trouver les ip ayant pour DERNIER document un document contenant au moins 1 rbl puis trier les documents par RBL. Le but est d'avoir une page avec les ip par RBL.

les documents sont de la forme :

```
{
    "_index": "rblwatcherb",
    "_type": "callback",
    "_id": "AVFwcy7ZITJ7fN5W5A7o",
    "_score": 1,
    "_source": {
       "Id": "19d265ca-c072-460e-637d-a1cab4e25096",
       "Date": "2015-12-05T05:12:47.453652323Z",
       "Ip": "62.4.5.104",
       "Listed": true,
       "Rbls": [
          {
             "Id": "4f9a8a098de3e78240000053",
             "Name": "RATS RBL",
             "Url": "http://www.spamrats.com/index.php"
          },
          {
             "Id": "4f9a8a098de3e78240000031",
             "Name": "spam.dnsbl.sorbs.net",
             "Url": "http://www.dnsbl.nl.sorbs.net/"
          }
       ],
       "Sig": "09a11cf7a0acf983c669e8e4abe8177def22983a84a98b2d564877570d70ae4f"
    }
 },
 {
    "_index": "rblwatcherb",
    "_type": "callback",
    "_id": "AVFwcy-UITJ7fN5W5A7p",
    "_score": 1,
    "_source": {
       "Id": "098da4b1-7c81-4b8c-7bbf-94f19c4cd880",
       "Date": "2015-12-05T05:12:47.641196807Z",
       "Ip": "62.4.5.107",
       "Listed": true,
       "Rbls": [
          {
             "Id": "4f9a8a098de3e78240000053",
             "Name": "RATS RBL",
             "Url": "http://www.spamrats.com/index.php"
          },
          {
             "Id": "4f9a8a098de3e78240000031",
             "Name": "spam.dnsbl.sorbs.net",
             "Url": "http://www.dnsbl.nl.sorbs.net/"
          }
       ],
       "Sig": "af8657bb89901b11c982ef72c2a3fb232b10c84dabdb9ea00bdf3a0b8845e01a"
    }
 }

```

C'est 2 exemples ont des entrées en RBL donc seront à prendre en compte tous les 2 mais je pourrais avoir un message pour l'une des ip plus récent avec 0 RBL et donc ne pas vouloir afficher cette entrée ...

j'espère que j'arrive à être clair ... mais c'est pas simple 😉

en SQL je ferais un truc dans ce genre la :

select ip, Rbls\_name from tableRBL where Rbls\_name is not null group by ip, Rbls\_name order by date desc

et encore ça rend pas terrible, il faut bosser sur le dernier document pour chaque IP et en sortir que ceux qui ont listed=true ou le array rbls non vide.

Merci en tout cas pour votre aide

---

<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 6, 2017, 1:50pm UTC](https://discuss.elastic.co/t/aide-pour-une-query-es/37487/2 "2017-07-06T13:50:12Z")

</div>


