Le client tape le nom d'un produit avec une faute de frappe et obtient une liste vide, alors que le produit est bien en boutique. Un problème similaire se pose avec la documentation et les catalogues de contenu étendus. Meilisearch permet d'ajouter à ta propre application une recherche tolérante aux fautes de frappe. Dans ce guide, nous allons te montrer comment installer Meilisearch sur Saplo, envoyer les premières données et effectuer une requête vers le moteur de recherche.
Qu'est-ce que Meilisearch et pour qui est-il adapté
Meilisearch est un moteur de recherche qui fournit une API REST. Tu lui envoies les données sélectionnées, et ton site récupère les résultats via l'API. Il est idéal pour un catalogue de produits, une base de connaissances ou un site d'articles. Tu trouveras une description des usages sur la page de l'hébergement Meilisearch chez Saplo.
L'installation seule ne connecte pas automatiquement la boutique ni ne crée un formulaire de recherche sur le site. Tu as besoin d'une intégration qui envoie les données et affiche les résultats. Commence par un petit ensemble public, par exemple les noms et descriptions de quelques produits.
Exigences et coût de l'hébergement
Le plan le plus économique répondant aux exigences d'installation est le Box S à 27 € par an. C'est le point de départ pour lancer le service ; la taille de l'index cible, la fréquence d'importation et les autres applications sur le Box influencent les besoins en ressources. Avant d'importer tout le catalogue, vérifie l'espace et la mémoire disponibles.
Prépare un Box actif, le nom de l'application ainsi qu'un domaine ou un sous-domaine disponible *.saploapp.pl. Pour les exemples ci-dessous, tu auras besoin d'un terminal Bash et du programme curl sur ton ordinateur. Tu n'as pas besoin du SSH pour le Box : l'installation se fait via le panneau, tu télécharges le fichier de démarrage via SFTP et envoies les requêtes par HTTPS.
Installation étape par étape
- Connecte-toi au panneau Saplo et ouvre le catalogue d'applications.
- Choisis Meilisearch et commence la création de l'application.
- Donne-lui un nom, par exemple
wyszukiwarka, et indique le Box avec des ressources disponibles. - Sélectionne un domaine ou un sous-domaine. Garde précieusement l'adresse HTTPS exacte affichée dans le panneau.
- Confirme l'installation. Attends qu'elle se termine puis vérifie le statut de l'application ainsi que d'éventuels messages.
- Connecte-toi en SFTP en utilisant les identifiants du Box. Dans le catalogue d'applications, localise et télécharge le fichier
MEILISEARCH-SETUP.txt.
L'installateur Saplo lance Meilisearch en mode production et génère une clé administrateur. Le fichier de démarrage contient l'adresse API et cette clé. La prévisualisation intégrée du moteur de recherche, connue en mode développeur, est désactivée, donc l'absence de panneau de connexion à l'adresse principale ne signifie pas une panne.
Première connexion et clé d'administration
Dans le terminal Bash de ton ordinateur, définis l'adresse depuis le fichier de démarrage, sans le slash final :
MEILI_URL='https://YOUR-APP-ADDRESS'
curl -sS "$MEILI_URL/health"
La bonne réponse est {"status":"available"}. Ce endpoint vérifie la disponibilité du moteur, comme expliqué dans la documentation health check. Cela ne confirme pas encore l'import correct des données.
Charge la clé d'administration sans l'afficher à l'écran et sans l'enregistrer dans l'historique des commandes :
read -r -s -p 'Meilisearch admin key: ' MEILI_ADMIN_KEY
printf '\n'
Colle la valeur depuis le fichier de démarrage et appuie sur Entrée. C'est la clé Meilisearch, pas le mot de passe de Saplo. Utilise-la uniquement dans un environnement d'administration de confiance. Ne la mets pas dans le JavaScript du site, ni dans un dépôt ou des captures d'écran. Les règles de séparation des permissions sont expliquées dans la documentation des clés Meilisearch.
Ajout des premiers documents
Crée un fichier products-demo.json en UTF-8 sur ton ordinateur :
[
{"id": 1, "name": "Ceramic mug", "description": "White coffee mug"},
{"id": 2, "name": "Glass jug", "description": "Tea jug"}
]
Dans le même terminal, dans le dossier contenant ce fichier, exécute :
curl -sS -X POST "$MEILI_URL/indexes/products-demo/documents?primaryKey=id" \
-H "Authorization: Bearer $MEILI_ADMIN_KEY" \
-H 'Content-Type: application/json' \
--data-binary @products-demo.json
Le champ id identifie le document. La première importation créera l'index products-demo. La réponse contient taskUid, c'est-à-dire le numéro de la tâche d'indexation. Le schéma d'importation est décrit dans le guide de démarrage officiel de Meilisearch.
Vérification de l'indexation
Accepter la requête ne signifie pas que le travail est terminé. Saisis le numéro reçu dans le champ taskUid et vérifie la tâche :
MEILI_TASK_ID='WPISZ_NUMER_TASKUID'
curl -sS "$MEILI_URL/tasks/$MEILI_TASK_ID" \
-H "Authorization: Bearer $MEILI_ADMIN_KEY"
Attends status: succeeded. En cas de enqueued ou processing, relance la vérification après un moment. En cas de failed, lis le champ error et corrige les données avant de réimporter. Tu trouveras des informations sur la file d'attente dans la documentation des tâches API.
Clé dédiée à la recherche
Crée une clé avec le droit de recherche uniquement dans l'index exemple :
curl -sS -X POST "$MEILI_URL/keys" \
-H "Authorization: Bearer $MEILI_ADMIN_KEY" \
-H 'Content-Type: application/json' \
--data-binary '{"description":"Search in the public demo catalog","actions":["search"],"indexes":["products-demo"],"expiresAt":null}'
Conserve la valeur key de la réponse. La limitation à products-demo est volontaire : une clé destinée à un seul catalogue ne doit pas donner accès à tous les index. Cette clé permet de lire les résultats de recherche, donc dans un frontend public, utilise-la uniquement pour les données destinées à être publiées. N'inclus pas dans cet index des données clients ni de notes internes.
Charge la clé reçue et envoie une requête :
read -r -s -p 'Meilisearch search key: ' MEILI_SEARCH_KEY
printf '\n'
curl -sS -X POST "$MEILI_URL/indexes/products-demo/search" \
-H "Authorization: Bearer $MEILI_SEARCH_KEY" \
-H 'Content-Type: application/json' \
--data-binary '{"q":"mug"}'
Le tableau hits devrait contenir le document « Ceramiczny kubek ». Répète l'essai avec la requête kubke pour tester la tolérance aux fautes de frappe dans les réglages par défaut. Après le travail, supprime les variables du terminal :
unset MEILI_ADMIN_KEY MEILI_SEARCH_KEY
Connexion de ton propre site
Après un test réussi, choisis les données qui doivent être envoyées à l’index approprié. Détermine quand l’intégration ajoute de nouveaux enregistrements, met à jour ceux qui ont changé et supprime ceux qui ne sont plus valides. Teste tout le cycle sur un seul produit avant l’import complet. Planifie aussi comment reconstruire l’index à partir de la source de données.
Le formulaire de recherche doit utiliser une clé distincte avec des permissions limitées. Pour un contenu nécessitant une connexion, conçois le contrôle d’accès côté de ton application. Simplement cacher le champ dans l’interface ne limite pas l’accès via l’API.
Questions fréquentes
Combien coûte Meilisearch sur Saplo ?
Le plan le moins cher qui correspond aux exigences d'installation est le Box S à 27 € par an. Pour un ensemble de données plus important, vérifie la consommation des ressources pendant l'importation et la recherche.
Pourquoi je ne vois pas le moteur de recherche sous mon domaine ?
L'installation de Saplo fonctionne en mode production comme une API. Commence par /health, puis fais l'importation et la requête avec le tutoriel. Le formulaire pour les utilisateurs est ajouté dans ta propre page.
Que vérifier en cas d'erreur d'autorisation ?
Compare l'adresse API et la clé avec l'installation correspondante. L'en-tête a la forme Authorization: Bearer .... La clé avec uniquement le droit search ne sert pas à importer des documents ni à gérer les clés.
Pourquoi pas de résultats après l'importation ?
Vérifie d'abord le statut de la tâche. Ensuite, compare le nom de l'index dans l'adresse de la requête avec le nom utilisé lors de l'importation. Vérifie aussi que le document contient le contenu recherché.
Est-ce que Meilisearch récupère automatiquement les produits du magasin ?
Non. L'installation lance le moteur de recherche. La synchronisation des données et le formulaire de résultats sont assurés par l'intégration avec ta boutique ou application.
Ouvre l'offre Meilisearch sur Saplo, lance le service et commence avec deux documents exemples. Quand l'importation et la recherche fonctionnent, connecte ton propre catalogue.
- #Meilisearch
- #Self-hosting
- #Guide
- #Moteur de recherche
