Closed philippejadin closed 6 years ago
je m'en occupe sauf si @danielsum a une meilleure solution (mais je voudrais une qui ne demande pas un moteur de recherche externe pour ne pas rendre l'hosting plus compliqué...). La solution postée "tntsearch" semble utiliser une db sqlite, mais j'ai pas testé)
le moteur de recherche devrait être interne je pense. C'est vrai qu'on pourrait utiliser de l'elastic search comme algolia mais je pense que c'est pas nécessaire...
Autre option, de la recherche via javascript (plus rapide !!)
je pense que l'option tntsearch propose ce qu'il faut côté serveur pour faire de la recherche javascript (dans le sens recherche progressive au fur et à mesure que tu tapes)
La démo est sacrément cool en tout cas : http://tntsearch.tntstudio.us/
Coucou Philippe,
Voilà j'ai intégré le TntSearch, c'est pas mal mais vraiment pas nécessaire pour moi... Je ferai vraiment un search custom moi c'est pas beaucoup plus lent...
On en discute la prochaine fois
Tchuuuz !
Si tu as le temps de regarder à a ça:-) Je verrais bien une boite de recherche dans la navbar qui recherche dans les personnes, groupes, discussions et actions. On pourrait afficher les différents types l'un en desous de l'autre
Votre recherche "Bonjour" Personnes :
Actions :
etc ...
Apperamment TNT search fait du ranking. Je pense que mysql propose aussi un full text search, ça peut aussi le faire
Coucou Philippe,
en soi TNT search fait juste un search where xxx, c'est un poil plus rapide car ça passe par un format mysqlite mais en soit tu pourrais faire les recherches directement dans la DB.
Pour la partie javascript, il existe des tas de plugin pour faire une recherche : https://select2.github.io/examples.html => le principe est simple, le champs input envoi une requête à un controller qui retourne un JSON formatté.
Perso, je pense qu'un moteur de recherche doit être custom car par example pour ton cas, je sais pas trop comment faire une recherche croisé avec TNT (mais bon c'est pas bien compliqué non plus)...
Tu as eu le temps de regarder :
https://github.com/philippejadin/Mobilizator/blob/master/app/Console/Commands/IndexSearch.php
Et : https://github.com/philippejadin/Mobilizator/blob/master/app/Http/Controllers/SearchController.php
?
Tchuuz
Voilà, dans le dernier commit il y a un début de moteur de recherche comme tu préconises :-)
Enfin je fais juste un like %xyz%
Il semble possible de faire un truc mieux avec match against en mysql, je vais voir ça
Ici les résultats sont affichés dans une page de résultat sans js, à voir...
Avis bienvenus :-)
full text search à utiliser
Bonjour, pour info laravel 5.3 possède un module pour la recherche plein texte: https://laravel.com/docs/5.3/scout
J'en profite pour me présenter, Florian, développeur de YesWiki, j'ai aidé @gatienbataille a installer http://participer.wapshub.be/
Coucou @philippejadin @mrflos ,
Je fais actuellement des tests sur ça (avec Algolia) sur mon propre projet, le truc c'est qu'il faut un compte Algolia pour Scout... Je check pour un driver indépendant ou faire un driver indépendant basé sur MySql ou Redis ?
Ça va être compliqué de dire aux gens d'installer Algolia + Redis, c'est ça le petit problème :/. Est-ce vraiment nécessaire d'avoir un moteur de recherche super hypra rapide ?
Je pense que les filtres (en tout cas pour les fichiers), pourrait-être coté navigateur pour gagner en gain de performance. On ne travaille pas avec des DB de + de 10000 records non plus.
Hello ya des drivers comme https://github.com/teamtnt/laravel-scout-tntsearch-driver https://github.com/teamtnt/laravel-scout-tntsearch-driver mais je comprends bien que c’est peut être disproportionné pour l’usage de mobilizator.. Et c’est en effet prudent de rester sur une seule config pour la base de données, je pensais qu’Algolia était plus clé en main (s’il faut installer redis, c’est trop)
Le 29 août 2016 à 12:33, Daniel Sum notifications@github.com a écrit :
Coucou @philippejadin https://github.com/philippejadin @mrflos https://github.com/mrflos ,
Je fais actuellement des tests sur ça (avec Algolia) sur mon propre projet, le truc c'est qu'il faut un compte Algolia pour Scout... Je check pour un driver indépendant ou faire un driver indépendant basé sur MySql ou Redis ?
Ça va être compliqué de dire aux gens d'installer Algolia + Redis, c'est ça le petit problème :/. Est-ce vraiment nécessaire d'avoir un moteur de recherche super hypra rapide ?
Je pense que les filtres (en tout cas pour les fichiers), pourrait-être coté navigateur pour gagner en gain de performance. On ne travaille pas avec des DB de + de 10000 records non plus.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/philippejadin/Mobilizator/issues/35#issuecomment-243078473, or mute the thread https://github.com/notifications/unsubscribe-auth/AAHnrfegzp3lZn4FEBSXfUZvj-csyx-kks5qkqeDgaJpZM4IQqfn.
Hello à tous les deux, c'est cool d'avoir des retours ! Bienvenue @mrflos
La recherche pour l'instant c'est juste un like %mot% donc si un jour il y a un driver pour scout qui utilise mysql, ce serait à mon avis le plus propre et plus efficace (la recherche actuelle ne marche pas si on met plusieurs mots. Cela permettrait d'utiliser un autre driver pour ceux qui ont cette possibilité, avec fallback sur mysql.
Pour les fichiers, j'ai ajouté la possibilité de les tagguer, il manque la partie client ou on peut filtrer par tag (un tag serait +- comparable à un dossier).
Reste à proposer des tags pour les discussions et peut être les participants et les actions.
Donc pour résumer, d'après moi le plus important ce serait d'avoir un système de recherche :
Et éventuellement avoir la possibilité d'upgrader vers un système plus costaud pour ceux qui veulent.
Hello à tous les 3... moi suis bcq moins dév que vous donc une partie me passe un peu au dessus de la tête mais ça m'intéresse...
En tout cas avec les tags un peu partout ça pourrait (peut-être) aussi permettre de créer une sorte de "gestionnaire de tâches" (qui rejoindrait l'issue #3)
Avec ceci ? : https://medium.com/@tntstudiohr/solving-the-search-problem-with-laravel-and-tntsearch-dfa16aa9173b#.yerntosdb
Avec autocomplétion, suggestions, et séparer les résultats en personnes, actions, discussions, groupes