Last active
August 29, 2015 14:06
-
-
Save boillodmanuel/3b4ae94134df5b5a59ff to your computer and use it in GitHub Desktop.
Modélisation avec la solution de dénormalisation par utilisateur. Syntaxe : Elasticsearch Sense
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ################### USER VIEW ################# # | |
DELETE user_view | |
# Pas de Mapping | |
PUT user_view | |
{ | |
"mappings": { | |
"umd": { | |
"properties": { | |
"im.im_id": { "type": "string"}, | |
"cmd.client_id": { "type": "string"}, | |
"umd.user_id": { "type": "string"} | |
} | |
} | |
} | |
} | |
# Data | |
PUT user_view/umd/11 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche A", | |
"objet" : "riri", | |
"date" : "2009-11-15T14:12:12", | |
"labels": ["bleu", "vert"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": false | |
} | |
} | |
PUT user_view/umd/21 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche B", | |
"objet" : "fifi", | |
"date" : "2009-11-15T18:00:00", | |
"labels": ["bleu", "jaune"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": true | |
} | |
} | |
PUT user_view/umd/31 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche C", | |
"objet" : "loulou", | |
"date" : "2009-11-16T20:00:00", | |
"labels": ["rouge"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": false | |
} | |
} | |
PUT user_view/umd/32 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche C", | |
"objet" : "loulou", | |
"date" : "2009-11-16T20:00:00", | |
"labels": ["rouge"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "julien", | |
"deleted": true | |
} | |
} | |
# Liste tous les documents | |
GET user_view/umd/_search | |
{ | |
"query": { | |
"match_all": {} | |
} | |
} | |
# Liste tous les documents de l'utilisateur manu | |
GET user_view/umd/_search | |
{ | |
"query": { | |
"match": { "umd.user_id": "manu"} | |
} | |
} | |
# Recherche des documents non supprimés de l'utilisateur manu | |
GET user_view/umd/_search | |
{ | |
"query": { | |
"bool": { | |
"must": [ | |
{ | |
"match": { | |
"title": "marche" | |
} | |
}, | |
{ | |
"match": { | |
"umd.deleted": false | |
} | |
} | |
] | |
} | |
} | |
} | |
# Nb de document par statut utilisateur pour tous les utilisateurs (deleted ou non) | |
GET user_view/umd/_search?search_type=count | |
{ | |
"query": { | |
"match_all": {} | |
}, | |
"aggs": { | |
"status": { | |
"terms": { | |
"field": "umd.deleted" | |
} | |
} | |
} | |
} | |
# Nb de document par statut utilisateur pour l'utilisateur manu (deleted ou non) | |
GET user_view/umd/_search?search_type=count | |
{ | |
"query": { | |
"match": { | |
"umd.user_id": "manu" | |
} | |
}, | |
"aggs": { | |
"status": { | |
"terms": { | |
"field": "umd.deleted" | |
} | |
} | |
} | |
} | |
#Utilisation des alias | |
DELETE user_view_alias | |
DELETE user_view_manu | |
DELETE user_view_julien | |
# Pas de Mapping | |
PUT user_view_alias | |
{ | |
"mappings": { | |
"umd": { | |
"properties": { | |
"im.im_id": { "type": "string"}, | |
"cmd.client_id": { "type": "string"}, | |
"umd.user_id": { "type": "string"} | |
} | |
} | |
} | |
} | |
# Alias (à faire avant l'indexation de doc) | |
PUT /user_view_alias/_alias/user_view_manu | |
{ | |
"routing": "manu", | |
"filter": { | |
"term": { | |
"umd.user_id": "manu" | |
} | |
} | |
} | |
PUT /user_view_alias/_alias/user_view_julien | |
{ | |
"routing": "julien", | |
"filter": { | |
"term": { | |
"umd.user_id": "julien" | |
} | |
} | |
} | |
# Data | |
PUT user_view_manu/umd/11 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche A", | |
"objet" : "riri", | |
"date" : "2009-11-15T14:12:12", | |
"labels": ["bleu", "vert"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": false | |
} | |
} | |
PUT user_view_manu/umd/21 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche B", | |
"objet" : "fifi", | |
"date" : "2009-11-15T18:00:00", | |
"labels": ["bleu", "jaune"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": true | |
} | |
} | |
PUT user_view_manu/umd/31 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche C", | |
"objet" : "loulou", | |
"date" : "2009-11-16T20:00:00", | |
"labels": ["rouge"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "manu", | |
"deleted": false | |
} | |
} | |
PUT user_view_julien/umd/32 | |
{ | |
"im": { | |
"im_id": "A", | |
"title" : "marche C", | |
"objet" : "loulou", | |
"date" : "2009-11-16T20:00:00", | |
"labels": ["rouge"] | |
}, | |
"cmd": { | |
"client_id": "x" | |
}, | |
"umd": { | |
"user_id": "julien", | |
"deleted": true | |
} | |
} | |
# Liste tous les documents de l'utilisateur manu | |
GET user_view_manu/umd/_search | |
{ | |
"query": { | |
"match_all": {} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment