Universe = mot réservé?


(Karel Suedile) #1

Bonjour,
j'ai un souci avec une nested aggrégation,
j'ai l'impression que si je fais un nested terms aggregation sur un champ nommé universe, il ne me renvoie systématiquement rien.

mon mapping simplifié :

{
    "aaaa": {
        "mappings": {
            "bbbb": {
                "properties": {
                    "activities": {
                        "type": "nested",
                        "properties": {
                            "universe": {
                                "type": "string",
                                "index": "not_analyzed"
                            },
                            "universex": {
                                "type": "string",
                                "index": "not_analyzed"
                            }
                        }
                    }
                }
            }
        }
    }
}

ma requete :

{
    "aggs" : {
        "activity" : {
            "nested": {
                "path": "activities"
            },
            "aggs": {
                "universexs": {
                    "terms": {
                        "field": "universex"
                    }
                },
                "universes" : {
                    "terms" : {
                        "field" : "universe"
                    }
                }
            }
        }
    }
}

J'obtiens des résultats sur universexs mais pas sur universes.
J'utilise la version 1.7 d'ES


(David Pilato) #2

Essaye peut être de préfixer le nom des champs par activities


(Karel Suedile) #3

oui oui, c'est ce que j'ai démontré par universexs
du coup, j'ai opté pour ce "contournement de problème",
je voulais simplement savoir si c'était un bug d'elasticsearch ou si universe est bien un mot réservé.
Et s'il y en a d'autres, j'aimerais connaître la liste :smile:


(David Pilato) #4

Non. Universe n'est pas un mot réservé mais de mémoire, quand tu fais du Nested tu dois utiliser les noms complets.


(Karel Suedile) #5

Ok, merci pour ces bonnes pratiques que je vais mettre en place


(system) #6