Hello tout le monde,

j'aimerais utiliser Elastic Search pour faire de la recherche sur mon projet qui utilise Laravel pour le serveur et Vue JS pour le front.

Le système de recherche que je vais mettre en place va comprendre une partie "temps réel", genre pendant que l'utilisateur tape, il a les résultats qui s'affichent devant lui. Mon but est donc que les résultats arrivent le plus rapidement possible.

Ma question est assez simple, dois-je quand même envoyer la requête de recherche de l'utilisateur à Laravel, qui lui-même va faire appel à Elastic Search et me renvoyer la réponse? Ou puis-je faire directement les requêtes de mon utilisateur à Elastic Search? J'ai l'impression qu'en éliminant Laravel en intermédiaire pourrait me faire gagner pas mal de millisecondes (temps d'exécution de Laravel).

Qu'en pensez-vous? Avez-vous déjà fait ce genre d'implémentation? Est-ce que faire directement des requêtes de l'utilisateur à EC est dangeureux au niveau sécurité? je suppose qu'il faudrait bloquer toutes les requêtes qui ne sont pas des GET, mais à part ça?

Je vous remercie pour les réponses que vous m'apporterez et vous souhaite un bon début de semaine :)

2 réponses


Bonjour EL_Matella
En passant par du php, cela te permettra de formater le résultat pour l'adapter à la partie cliente (par ex jquery-ui autocomplete).
Pour les perf rien ne t'oblige à passer par Laravel, tu peux le contourner en réservant une url spécifique dans le htaccess

Salut @Huggy, merci pour ta réponse. Je n'aurais pas besoin d'adapter les résultats car comme j'utilise Vue, je vais moi-même traiter les données qui arrivent donc peu importe leur format. Je pense que je vais opter pour une communication directe entre les systèmes :)