Héritage du cache sur les filtres


(Christophe Boucaut) #1

Bonjour,

Une petite question au niveau des filters. Il est possible d'activer/désactiver le cache pour les filtres via _cache. Je me demandais cependant si cela s'étendait dans les "enfants" d'un filter. Je suis sous ES 1.7.3.

Par exemple :
Je recherche charles et je souhaite ignorer lorsque la source est wikipedia. Comme on peut le voir ci-dessous, on demande à ne pas utiliser le cache mais au niveau du "not" et non pas du filter contenant le term. De ce fait, je me demande si le cache est répliqué aux enfants du not ou pas ?

{
  "query": {
    "filtered": {
      "query": {
        "match": {
          "prenom": {
            "query": "charles"
          }
        }
      }
    }
  },
  "post_filter": {
    "not": {
      "filter": {
        "term": {
          "source": "wikipedia"
        }
      },
      "_cache": false
    }
  }
}

Autre exemple, si j'ai un filter en bool contenant d'autres filters, est-ce que placer le _cache: false sur le filter bool le plus haut placera le _cache à false pour les sous filters ? (not, bool ne sont déjà pas cachés d'après la doc, mais c'est surtout pour gagner en écriture en le mettant à un niveau plus haut dans le cas des bool)

Merci par avance :wink:

EDIT : D'après les premiers tests réalisés, cela ne semble pas être hérité dans les filters enfants.


(system) #2