je viens de me lancer avec ES et avant de poser cette question j'ai bien googler plusieurs heures mais sans resultats significatifs.
Les exemples donnes dans les tutos ou meme sur la doc officielle sont toujours tres simples. Si je prends l'exemple concret d'un post avec des tags associes ainsi que des commentaires, je possede une BDD avec les tables Post, Tag et Comment avec les relations qui vont bien. Comment definir le mapping pour que lorsque je query sur le document Post, il prenne en compte les tags? Et est-il possible de faire un tri pour ordonner les resultats selon le nombre de commentaires que possede un post par exemple?
Si un post contient des tags, il faut le stocker en tant que document Post avec ses tags (sous forme de tableau par exemple)
Oublie le relationnel et pense globalement Document (ou Objet).
C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste coule de source !
David ;-)
Twitter : @dadoonet / @elasticsearchfr
Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
> je viens de me lancer avec ES et avant de poser cette question j'ai bien googler plusieurs heures mais sans resultats significatifs.
> Les exemples donnes dans les tutos ou meme sur la doc officielle sont toujours tres simples.
> Si je prends l'exemple concret d'un post avec des tags associes ainsi que des commentaires, je possede une BDD avec les tables Post, Tag et Comment avec les relations qui vont bien.
> Comment definir le mapping pour que lorsque je query sur le document Post, il prenne en compte les tags?
> Et est-il possible de faire un tri pour ordonner les resultats selon le nombre de commentaires que possede un post par exemple?
> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
> Si un post contient des tags, il faut le stocker en tant que document Post > avec ses tags (sous forme de tableau par exemple)
> Oublie le relationnel et pense globalement Document (ou Objet).
> C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste > coule de source !
> David ;-)
> Twitter : @dadoonet / @elasticsearchfr
> Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
> Bonjour,
> je viens de me lancer avec ES et avant de poser cette question j'ai bien > googler plusieurs heures mais sans resultats significatifs.
> Les exemples donnes dans les tutos ou meme sur la doc officielle sont > toujours tres simples.
> Si je prends l'exemple concret d'un post avec des tags associes ainsi que > des commentaires, je possede une BDD avec les tables Post, Tag et Comment > avec les relations qui vont bien.
> Comment definir le mapping pour que lorsque je query sur le document Post, > il prenne en compte les tags?
> Et est-il possible de faire un tri pour ordonner les resultats selon le > nombre de commentaires que possede un post par exemple?
> Si vous avez également posté votre question sur la mailing list > elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette > discussion pour faciliter le suivi.
> Chaque fois qu'un nouveau post est cree ou modifie, ES l'index grace a ce fichier de config.
> Or comment lui indiquer de prendre les tags?
> Merci!
> Le lundi 16 juillet 2012 15:27:43 UTC-4, David a écrit :
> Si un post contient des tags, il faut le stocker en tant que document Post avec ses tags (sous forme de tableau par exemple)
> Oublie le relationnel et pense globalement Document (ou Objet).
> C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste coule de source !
> David ;-)
> Twitter : @dadoonet / @elasticsearchfr
> Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
>> Bonjour,
>> je viens de me lancer avec ES et avant de poser cette question j'ai bien googler plusieurs heures mais sans resultats significatifs.
>> Les exemples donnes dans les tutos ou meme sur la doc officielle sont toujours tres simples.
>> Si je prends l'exemple concret d'un post avec des tags associes ainsi que des commentaires, je possede une BDD avec les tables Post, Tag et Comment avec les relations qui vont bien.
>> Comment definir le mapping pour que lorsque je query sur le document Post, il prenne en compte les tags?
>> Et est-il possible de faire un tri pour ordonner les resultats selon le nombre de commentaires que possede un post par exemple?
>> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
> Chaque fois qu'un nouveau post est cree ou modifie, ES l'index grace a ce > fichier de config.
> Or comment lui indiquer de prendre les tags?
> Merci!
> Le lundi 16 juillet 2012 15:27:43 UTC-4, David a écrit :
>> Si un post contient des tags, il faut le stocker en tant que document >> Post avec ses tags (sous forme de tableau par exemple)
>> Oublie le relationnel et pense globalement Document (ou Objet).
>> C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste >> coule de source !
>> David ;-)
>> Twitter : @dadoonet / @elasticsearchfr
>> Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
>> Bonjour,
>> je viens de me lancer avec ES et avant de poser cette question j'ai bien >> googler plusieurs heures mais sans resultats significatifs.
>> Les exemples donnes dans les tutos ou meme sur la doc officielle sont >> toujours tres simples.
>> Si je prends l'exemple concret d'un post avec des tags associes ainsi que >> des commentaires, je possede une BDD avec les tables Post, Tag et Comment >> avec les relations qui vont bien.
>> Comment definir le mapping pour que lorsque je query sur le document >> Post, il prenne en compte les tags?
>> Et est-il possible de faire un tri pour ordonner les resultats selon le >> nombre de commentaires que possede un post par exemple?
>> Si vous avez également posté votre question sur la mailing list >> elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette >> discussion pour faciliter le suivi.
> Si vous avez également posté votre question sur la mailing list > elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette > discussion pour faciliter le suivi.
> Ca vient d'un fichier de config yaml dans Symfony2.
> L'ORM notifie ES qu'un changement (creation, update, delete...) a ete effectue sur telle instance.
> Le lundi 16 juillet 2012 15:39:24 UTC-4, David a écrit :
> C'est quoi cette syntaxe driver: orm ?
> ça vient d'un plugin ?
> --
> Le 16 juil. 2012 à 21:35, Raphi <raphael.dague...@gmail.com> a écrit :
>> Effectivement je pense encore trop relationnel^^
>> Justement, comment faire pour stocker ces tags dans le meme document?
>> Parceque actuellement le mapping est effectue grace a la conf suivante:
>> Chaque fois qu'un nouveau post est cree ou modifie, ES l'index grace a ce fichier de config.
>> Or comment lui indiquer de prendre les tags?
>> Merci!
>> Le lundi 16 juillet 2012 15:27:43 UTC-4, David a écrit :
>> Si un post contient des tags, il faut le stocker en tant que document Post avec ses tags (sous forme de tableau par exemple)
>> Oublie le relationnel et pense globalement Document (ou Objet).
>> C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste coule de source !
>> David ;-)
>> Twitter : @dadoonet / @elasticsearchfr
>> Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
>>> Bonjour,
>>> je viens de me lancer avec ES et avant de poser cette question j'ai bien googler plusieurs heures mais sans resultats significatifs.
>>> Les exemples donnes dans les tutos ou meme sur la doc officielle sont toujours tres simples.
>>> Si je prends l'exemple concret d'un post avec des tags associes ainsi que des commentaires, je possede une BDD avec les tables Post, Tag et Comment avec les relations qui vont bien.
>>> Comment definir le mapping pour que lorsque je query sur le document Post, il prenne en compte les tags?
>>> Et est-il possible de faire un tri pour ordonner les resultats selon le nombre de commentaires que possede un post par exemple?
>>> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
>> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
> Si vous avez également posté votre question sur la mailing list elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette discussion pour faciliter le suivi.
> En parlant ES pur, je dirais : envoie un document via CURL du type :
> {
> "title":"mon titre",
> "tags":["tag1","tag2"]
> }
> Comment fait-on ça avec Symfony2 ? Aucune idée !
> --
> Le 16 juil. 2012 à 21:53, Raphi <raphael.dague...@gmail.com> a écrit :
> Ca vient d'un fichier de config yaml dans Symfony2.
> L'ORM notifie ES qu'un changement (creation, update, delete...) a ete > effectue sur telle instance.
> Le lundi 16 juillet 2012 15:39:24 UTC-4, David a écrit :
>> C'est quoi cette syntaxe driver: orm ?
>> ça vient d'un plugin ?
>> --
>> Le 16 juil. 2012 à 21:35, Raphi <raphael.dague...@gmail.com> a écrit :
>> Effectivement je pense encore trop relationnel^^
>> Justement, comment faire pour stocker ces tags dans le meme document?
>> Parceque actuellement le mapping est effectue grace a la conf suivante:
>> Chaque fois qu'un nouveau post est cree ou modifie, ES l'index grace a ce >> fichier de config.
>> Or comment lui indiquer de prendre les tags?
>> Merci!
>> Le lundi 16 juillet 2012 15:27:43 UTC-4, David a écrit :
>>> Si un post contient des tags, il faut le stocker en tant que document >>> Post avec ses tags (sous forme de tableau par exemple)
>>> Oublie le relationnel et pense globalement Document (ou Objet).
>>> C'est le plus difficile : oublier ce que l'on sait ! Ensuite, le reste >>> coule de source !
>>> David ;-)
>>> Twitter : @dadoonet / @elasticsearchfr
>>> Le 16 juil. 2012 à 21:01, Raphi <raphael.dague...@gmail.com> a écrit :
>>> Bonjour,
>>> je viens de me lancer avec ES et avant de poser cette question j'ai bien >>> googler plusieurs heures mais sans resultats significatifs.
>>> Les exemples donnes dans les tutos ou meme sur la doc officielle sont >>> toujours tres simples.
>>> Si je prends l'exemple concret d'un post avec des tags associes ainsi >>> que des commentaires, je possede une BDD avec les tables Post, Tag et >>> Comment avec les relations qui vont bien.
>>> Comment definir le mapping pour que lorsque je query sur le document >>> Post, il prenne en compte les tags?
>>> Et est-il possible de faire un tri pour ordonner les resultats selon le >>> nombre de commentaires que possede un post par exemple?
>>> Si vous avez également posté votre question sur la mailing list >>> elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette >>> discussion pour faciliter le suivi.
>> Si vous avez également posté votre question sur la mailing list >> elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette >> discussion pour faciliter le suivi.
> Si vous avez également posté votre question sur la mailing list > elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette > discussion pour faciliter le suivi.
Les objets te permettent de faire un truc un peu plus compliqué que l'exemple
que j'ai donné:
{
"title":"mon titre",
"myobj1" : { "prop11":"tag1", "prop12":"newtag1" },
"myobj2" : { "prop21":"tag2", "prop22":"newtag2" }
}
myobj1 et myobj2 sont des champs de type objet.
(j'ai fait ça de tête, pas certain que le format soit bon).
Nested, c'est la même chose sauf que tu références les objets comme étant
stockés par ailleurs dans un autre type.
En gros, myobj1 devient un type, myobj2 aussi.
Perso, je n'aime pas du tout les nested.
Je ne sais pas si certains l'utilisent (en PROD notamment).
David
Le 17 juillet 2012 à 15:54, Raphi <raphael.dague...@gmail.com> a écrit :
> Merci en tout cas, ca m'a permis de comprendre un peu mieux le
> fonctionnement.
> Le lundi 16 juillet 2012 15:57:32 UTC-4, David a écrit :
> > > Ok. Je ne connais pas.
> > En parlant ES pur, je dirais : envoie un document via CURL du type :
> > {
> > "title":"mon titre",
> > "tags":["tag1","tag2"]
> > }
> > Comment fait-on ça avec Symfony2 ? Aucune idée !
> > --
> > Le 16 juil. 2012 à 21:53, Raphi < raphael.dague...@gmail.com
> > <mailto:raphael.dague...@gmail.com> > a écrit :
> > > > > Ca vient d'un fichier de config yaml dans Symfony2.
> > > L'ORM notifie ES qu'un changement (creation, update, delete...) a
> > > ete effectue sur telle instance.
> > > Le lundi 16 juillet 2012 15:39:24 UTC-4, David a écrit :
> > > > > > > C'est quoi cette syntaxe driver: orm ?
> > > > ça vient d'un plugin ?
> > > > --
> > > > Le 16 juil. 2012 à 21:35, Raphi < raphael.dague...@gmail.com
> > > > <mailto:raphael.dague...@gmail.com> > a écrit :
> > > > > Justement, comment faire pour stocker ces tags dans le
> > > > > meme document?
> > > > > Parceque actuellement le mapping est effectue grace a la
> > > > > conf suivante:
> > > > > Chaque fois qu'un nouveau post est cree ou modifie, ES
> > > > > l'index grace a ce fichier de config.
> > > > > Or comment lui indiquer de prendre les tags?
> > > > > Merci!
> > > > > Le lundi 16 juillet 2012 15:27:43 UTC-4, David a écrit :
> > > > > > > > > > > Si un post contient des
> > > > > > > > > > > tags, il faut le stocker en tant que
> > > > > > > > > > > document Post avec ses tags (sous forme de
> > > > > > > > > > > tableau par exemple)
> > > > > > Oublie le relationnel et pense globalement Document
> > > > > > (ou Objet).
> > > > > > C'est le plus difficile : oublier ce que l'on sait !
> > > > > > Ensuite, le reste coule de source !
> > > > > > Le 16 juil. 2012 à 21:01, Raphi <
> > > > > > raphael.dague...@gmail.com <mailto:raphael.dague...@gmail.com> > a
> > > > > > écrit :
> > > > > > > > > > > > > Bonjour,
> > > > > > > je viens de me lancer avec ES et avant de poser
> > > > > > > cette question j'ai bien googler plusieurs heures mais sans
> > > > > > > resultats significatifs.
> > > > > > > Les exemples donnes dans les tutos ou meme sur
> > > > > > > la doc officielle sont toujours tres simples.
> > > > > > > Si je prends l'exemple concret d'un post avec
> > > > > > > des tags associes ainsi que des commentaires, je possede une BDD
> > > > > > > avec les tables Post, Tag et Comment avec les relations qui vont
> > > > > > > bien.
> > > > > > > Comment definir le mapping pour que lorsque je
> > > > > > > query sur le document Post, il prenne en compte les tags?
> > > > > > > Et est-il possible de faire un tri pour
> > > > > > > ordonner les resultats selon le nombre de commentaires que possede
> > > > > > > un post par exemple?
> > > > > > > Merci
> > > > > > > --
> > > > > > > ---
> > > > > > > Vous pouvez également poster et consulter les
> > > > > > > réponses en anglais sur le groupe Elasticsearch
> > > > > > > https://groups.google.com/group/elasticsearch
> > > > > > > Si vous avez également posté votre question sur
> > > > > > > la mailing list <https://groups.google.com/group/elasticsearch>
> > > > > > > elasticsearch@googlegroups.com
> > > > > > > <mailto:elasticsearch@googlegroups.com> , merci d'indiquer ici le
> > > > > > > lien vers cette discussion pour faciliter le suivi.
> > > Si vous avez également posté votre question sur la mailing list
> > > <https://groups.google.com/group/elasticsearch>
> > > elasticsearch@googlegroups.com <mailto:elasticsearch@googlegroups.com> ,
> > > merci d'indiquer ici le lien vers cette discussion pour faciliter le
> > > suivi.
> Si vous avez également posté votre question sur la mailing list
> elasticsearch@googlegroups.com, merci d'indiquer ici le lien vers cette
> discussion pour faciliter le suivi.