How to perform terms aggregation case insensitive since version 2.4.x

Salut,

Nous sommes en pleine migration de ES 1.7.6 vers 2.4.6. Ce fut un peu rude mais heureusement nos tests ont permis de débroussailler la plupart des sujets.
Plus qu'un test à faire passer, courage :slight_smile:

Mais ce test semble soulever une question douloureuse.

Auparavant en version 1.7.6, il était possible d'utiliser une aggrégation terms de cette facon :

"keywords" : {
  "terms" : {
    "field" : "keyWords",
    "size" : 20,
    "min_doc_count" : 3,
    "include" : {
      "pattern" : "\\Qpresta\\E.*",
      "flags" : 2
    }
  }
}

Cela permettait de spécifier qu'on souhaitait une aggrégation de type terme mais en incluant ou excluant uniquement les termes respectant un pattern donné. Le flag 2 indiquait "non sensible à la casse".

En 1.7.6 par exemple cette aggrégation me renvoie cela:

> "aggregations": {
>         "completelyFilteredAggregation": {
>             "doc_count": 1099,
>             "keywords": {
>                 "doc_count_error_upper_bound": 0,
>                 "sum_other_doc_count": 0,
>                 "buckets": [
>                     {
>                         "key": "Prestashop",
>                         "doc_count": 542
>                     }
>                 ]
>             }
>         }
>     }

Cela a bien ignoré la casse.

En 2.4.6, cette notation ne marche plus. Le Flag semble ignoré.

J'ai testé également avec une syntaxe plus simple :

      "aggregations" : {
        
        "keywords" : {
          "terms" : {
            "field" : "freelanceProfile.profile.infos.keyWords",
            "size" : 20,
            "min_doc_count" : 1,
			"include" : {
              "pattern" : "presta(.*)", "flags" : 2
            }
          }
        }

Ca semble lié à ce "breaking change" : https://www.elastic.co/guide/en/elasticsearch/reference/2.3/breaking_20_aggregation_changes.html#_including_excluding_terms

Ca semble cependant un peu brutal. J'ai peut être mal lu. Cette fonctionnalité a vraiment été supprimé ?

a+

Ping @jpountz qui connaît très bien cette partie là.

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