ES v5:

Recherche dans plusieurs index identifiés, avec filtre des champs de sortie

curl -XGET http://127.0.0.1:9200/logstash-rproxy-2017.02.20,logstash-rproxy-2017.02.21,logstash-rproxy-2017.02.23/_search?pretty=y -d '
{
  "_source" : ["URL", "user_agent","user"],
  "query": {
    "bool": {
      "must": [
        { "match": { "URL.raw":   "/public"        }},
        { "match": { "application": "extranet1" }}
      ]
    }
  }
}'

Recherche dans tous les index avec un filtre sur la date et champs de sortie

curl -XGET http://127.0.0.1:9200/logstash-rproxy-*/_search?pretty=y -d '
{
  "_source" : ["URL", "user_agent","user"],
  "query": {
    "bool": {
      "must": [
        { "match": { "URL.raw":   "/public"        }},
        { "match": { "application": "extranet1" }}
      ],
      "must": [
      {
      "range": {
        "@timestamp" : {
                      "gte": "18/12/2016",
                      "lte": "now",
                      "format": "dd/MM/yyyy||yyyy"
        }
      }
      }
      ]
    }
  }
}'

Recherche avec filtre dans l’URL

curl -XGET 'localhost:9200/logstash-rp-2017.02.01/_search?q=unique_id=O97KxMCoAncAAIi9easABHjI9&pretty=true'
{
  "took" : 3,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 1,
    "max_score" : 13.215996,
    "hits" : [
      {
        "_index" : "logstash-rp-2017.02.01",
        "_type" : "syslog",
        "_id" : "AVqjbBC52M9ghcpEcwy3",
        "_score" : 13.215996,
        "_source" : {
....

Recherche avec filtre et filtre de sortie dans l’URL

curl -XGET 'localhost:9200/logstash-rp-2017.02.01/_search?q=unique_id=09ixMCkL5cAAIi9easJUYBx&pretty=true&filter_path=hits.hits._source.program,hits.hits._source.port'
{
  "hits" : {
    "hits" : [
      {
        "_source" : {
          "program" : "/opt/sol/bin/rp",
          "port" : 56031
        }
      }
    ]
  }
}

Recherche en fuzzy/proximiyté

curl -XGET http://127.0.0.1:9200/logstash-rproxy-2017.02.20,logstash-rproxy-2017.02.21,logstash-rproxy-2017.02.23/_search?pretty=y -d '
{
    "query": {
    "bool": {
      "must": [
        { "fuzzy": { "URL.raw":   "/pulic"        }},
        { "match": { "application": "extranet1" }}
      ]
    }
  }
}'

Note : ES limite à 10 réponses par défaut (possibilité de à 10000 max avec le paramétre size), il peut-être intéressant de connaître le nombre total de réponses en remplaçant _search par _count.

ES v2 :

Recherche dans tous les index avec un filtre sur la date et champs de sortie

curl -XGET http://127.0.0.1:9200/_search?pretty=y -d '
{
  "fields" : ["URL", "user_agent","user"],
  "query": {
    "bool": {
      "must": [
        { "match": { "URL.raw":   "/public"        }},
        { "match": { "application": "extranet1" }}
      ],
      "must": [
      {
      "range": {
        "@timestamp" : {
                      "gte": "18/12/2016",
                      "lte": "now",
                      "format": "dd/MM/yyyy||yyyy"
        }
      }
      }
      ]
    }
  }
}'

Recherche dans plusieurs index identifiés, avec filtre des champs de sortie

curl -XGET http://127.0.0.1:9200/logstash-rproxy-2016.12.20,logstash-rproxy-2016.12.19,logstash-rproxy-2016.12.18/_search?pretty=y -d '
{
  "fields" : ["URL", "user_agent","user"],
  "query": {
    "bool": {
      "must": [
        { "match": { "URL.raw":   "/public"        }},
        { "match": { "application": "extranet1" }}
      ]
    }
  }
}'