ElasticsearchDataArchitecture

Elasticsearch : maitriser les requetes pour des recherches precises

7 février 2026 · Sphinx-Digital

La Query DSL d’Elasticsearch est expressive. Comprendre les differences entre les types de requetes evite les mauvais resultats.

Term vs Match

// Term : recherche exacte (pour status, IDs, tags)
{
  "query": {
    "term": { "status": "published" }
  }
}

// Match : recherche texte libre (pour titres, descriptions)
{
  "query": {
    "match": {
      "description": {
        "query": "migration kubernetes",
        "operator": "and"
      }
    }
  }
}

Bool query : combiner les criteres

{
  "query": {
    "bool": {
      "must": [{ "match": { "title": "kubernetes" } }],
      "filter": [
        { "term": { "status": "published" } },
        { "range": { "published_at": { "gte": "2026-01-01" } } }
      ],
      "must_not": [{ "term": { "category": "deprecated" } }]
    }
  }
}

Utilisez filter pour les criteres binaires — c’est mis en cache par Elasticsearch.

Agregations pour l’analytics

{
  "aggs": {
    "par_categorie": {
      "terms": { "field": "category", "size": 10 }
    }
  },
  "size": 0
}

Notre formation Elastic Stack couvre Elasticsearch Query DSL en profondeur.