Comment utiliser l'extension Enhanced Autocomplete for Elasticsearch 6/7 ?
Elasticsearch est un moteur de recherches et de performances distribué en temps réel qui vous permet d'étudier vos données très rapidement. Il est utilisé pour des recherches plein-texte, structurées, pour les analyses ainsi que pour les trois à la fois.
Cet outil regroupe toutes ces fonctionnalités sur un serveur autonome avec lequel votre application peut communiquer via une API RESTful, en utilisant un client web via un langage de programmation ou encore en ligne de commande.
L'extension Enhanced Autocomplete va vous permettre de faire le lien entre le moteur de recherche et Magento.
Vous pouvez trouver plus d'informations sur le produit ici :
ETAPE 1 : Installez et exécutez le serveur Elasticsearch
Comme le conseille Elastic, "le meilleur moyen de voir ce qu'Elasticsearch peut faire pour vous c'est de le tester".
Afin de pouvoir utiliser l'extension Enhanced Autocomplete et accéder au serveur, vous devez avant tout avoir une version récente de Java. Vous pouvez facilement installer la dernière version de Java depuis www.java.com.
Ensuite, vous allez pouvoir installer et exécuter le moteur Elasticsearch en suivant les quelques étapes ci-dessous.
Installez Elasticsearch
Vous pouvez maintenant télécharger la dernière version d'Elasticsearch compatible avec notre module depuis elastic.co/downloads/elasticsearch.
Une fois téléchargée, vous pouvez extraire les fichiers de l'archive.
Elasticsearch est enfin prêt à être exécuté.
Exécutez Elasticsearch
Afin d'exécuter Elasticsearch, ouvrez une nouvelle console et exécutez la commande suivante :
cd elasticsearch-<version>./bin/elasticsearch
Si vous exécutez Elasticsearch sur Windows, utilisez simplement la commande suivante :
bin\elasticsearch.bat
Testez Elasticsearch
Vous pouvez facilement tester si Elasticsearch est accessible en ouvrant une nouvelle console et en exécutant :
curl 'http://localhost:9200/?pretty'
Vous devriez alors obtenir :
Elasticsearch est alors en cours d'exécution.
ETAPE 2 : Activez la recherche Elasticsearch
Afin de configurer Enhanced Autocomplete for Elasticsearch 6/7 de manière générale, allez dans :
SystemConfigurationCatalog Catalog Search
Configurez les paramètres généraux
Dans l'onglet Catalog Search, vous pouvez choisir Elasticsearch comme moteur de recherche.
En choisissant cette option, d'autres paramètres doivent s'afficher :
- Enable Debug Mode
Affiche des messages d'erreurs potentielles sur le frontend. - Enable Suggestion
Affiche une suggestion si le moteur de recherche détecte une meilleure requête (Option "Did you mean?").
- Servers
Il s'agit des serveurs à définir tel que host:port et à séparer avec une virgule.
Pour tester la connexion, cliquez sur Check Servers. - Verify Host
Vous pouvez définir cette option sur NO si vous n'avez pas de certificat SSL valide. - Server Timeout
Il s'agit du nombre de secondes après que le temps prévu soit dépassé pour chaque requête. Si vous utilisez la réindexation de fichier, une grande valeur est requise. - Index Prefix
Définissez un préfixe pour les noms d'index afin d'éviter des conflits potentiels. - Number of Shards
Plus le nombre est grand, mieux sera la performance d’indexation. Cela permet aussi de distribuer un index important à travers les machines. - Number of Replicas
Plus le nombre est grand, mieux sera la performance de recherche. - Safe Reindex
Vous pouvez préalablement reindexer dans un fichier temporaire. Utile pour les catalogues de produits importants.
- Query Operator
Par défaut, l'opérateur est sur AND. Par exemple, avec l'opérateur AND, la requête est traduite telle que "digital AND camera", avec l'opérateur OR, elle est traduite en "digital OR camera". Vous pourriez avoir moins de résultats avec l'opérateur AND mais ils seront plus pertinents. - Enable Source Storage
Vous pouvez stocker les données sources sur Elasticsearch. Gardez ce paramètre sur No pour de meilleures performances. Si l'autocomplete rapide est activée, il sera automatiquement sur Yes. - Enable Fuzzy Query
Vous pouvez activer la recherche approximative.
- Fuzzy Query Mode
Vous avez la possibilité de choisir le niveau d'approximation. Par exemple :
0, 1, 2 : la distance de Levenshtein maximum autorisée.
AUTO : devrait être la valeur sélectionnée. Cela génère une distance basée sur la longueur du terme.
Pour les longueurs :
0..2 : doit parfaitement correspondre
3..5 : une modification autorisée
>5 : deux modifications autorisées
- Display in stock product first
Lorsque cette option est activée, les produits en rupture de stock seront affchés après les produits en stock.
- Analyze SKUs
Lorsque le mode Fuzzy Query est activé, vous avez la possibilité d'analyser les SKUs. Les SKUs seront analysés comme tous les autres produits. C'est utile lorsque les SKUs sont composés de plusieurs valeurs, par exemple : XXX-YYY-ZZZ. Si vous ne souhaitez pas analyser les SKUs, alors l'attribut SKU est considéré comme un simple mot.
Gérez vos index
L'extension Enhanced Autocomplete ajoute 3 nouveaux index que vous pouvez retrouver dans :
SystemIndex Management
- Elasticsearch Product
Reconstruit l'index de recherche plein-texte de produits - Elasticsearch Category
Reconstruit l'index de recherche plein-texte de catégories - Elasticsearch CMS Pages
Reconstruit l'index de recherche plein-texte de pages CMS
Vous pouvez facilement réindexer vos données en sélectionnant ces 3 index et en cliquant sur Submit.
ETAPE 3 : Configurez votre recherche avec Elasticsearch
Vous pouvez désormais configurer votre recherche dans :
SystemConfigurationWYOMIND Elasticsearch
Paramètres généraux
Dans le sous-onglet General Settings, vous pourrez activer l'option Enable Response Header. Ceci activera une entête pour vous aider à corriger d'éventuelles erreurs.
Paramètres de l'autocomplete
Par défaut, l'autocomplete affichera les termes de suggestions pour votre recherche.
Vous pouvez choisir d'activer l'autocomplete en définissant Enable Autocomplete sur Yes dans le but de réécrire la saisie par défaut et d'afficher les produits directement.
Si l'autocomplete est activée, 2 paramètres sont ajoutés à la configuration :
- Enable Fast Autocomplete
Utilisez la saisie rapide (charge durant l'indexation). - Autocomplete labels
Vous pouvez aussi définir une traduction pour chaque texte de l'autocomplete ainsi qu'ajouter de nouveaux titres.
Cette option est très utile si votre site est disponible dans plusieurs langues. Vous pouvez alors changer la vue magasin, par exemple la vue française, et traduire chaque texte de l'autocomplete en français. - Enable Autocomplete Suggestions
Vous pouvez activer les suggestions dans l'autocomplete (Do you mean?). - Suggestions limit
Définissez le nombre maximum de résultats affichés.
Paramètres des produits
Avec l'extension Enhanced Autocomplete, vous pouvez rendre vos produits disponibles pour la recherche dans l'autocomplete. Plusieurs options existent afin d'améliorer votre recherche.
- Enable Auto Redirect
Si seulement 1 résultat correspond à votre requête, l'utilisateur sera automatiquement redirigé sur la page du produit. - Enable in Autocomplete
Si activé, les produits seront disponibles pour la recherche dans l'autocomplete. - Autocomplete Limit
Définissez le nombre de résultats maximum affichés dans l'autocomplete. - Display image
Affichez les images des produits dans l'autocomplete.
- Image Size
Définissez la taille des images dans les résultats de la saisie en pixels. Par défaut, la taille est 50 pixel. - Enable Thumbnails Generation
Activez cette option si vous souhaitez générer les miniatures des produits. Ils seront générés durant l'indexation et vont augmenter le temps d'exécution. Notez que ceci impacte seulement le premier processus d'indexation puisque les miniatures sont mises en cache pour les prochaines indexations. Si cette option est désactivée, les images uploadées seront utilisées sans aucune charge durant le temps d'indexation cependant les grandes images peuvent être chargées dans l'autocomplete. - Index product custom options
Product custom options will be indexed and searchable. This requires a new indexation.
Paramètres des catégories
Vous pouvez activer la recherche sur les catégories en définissant Enable Category Search sur Yes. Si cette option est activée, les catégories seront alors indexées dans Elasticsearch et des nouveaux paramètres seront ajoutés dans la configuration.
- Enable in Search Results
Si activée, les catégories seront aussi affichées dans la colonne de droite de la page de résultats de recherche.
- Enable in Autocomplete
Si activée, les catégories seront disponibles pour la recherche dans l'autocomplete. - Autocomplete Limit
Définissez un nombre de résultats maximum affichés dans l'autocomplete.
- Search Results Limit
C'est le nombre maximum de résultats qui seront affichés dans la colonne de droite de la page de résultats de recherche. Notez que 0 ou vide signifie illimité. - Show Category Path
Si activée, le chemin de catégorie sera affiché dans la colonne de droite de la page de résultats de recherche. - Searchable Attributes
Définissez sur quels attributs catégories sont basées les requêtes. Par exemple, les attributs Description et Name. - Index Categories not included in the menu
Vous avez aussi la possibilité d'indexer les catégories qui ne sont pas dans le menu.
Paramètres des pages CMS
Vous pouvez activer la recherche sur les pages CMS en définissant Enable CMS Search sur Yes. Si cette option est activée, alors les pages CMS seront indexées dans Elasticsearch et de nouveaux paramètres sont ajoutés à la configuration.
- Enable in Search Results
Si activée, les pages CMS seront affichées dans la colonne de droite de la page de résultats de recherche.
- Enable in Autocomplete
Si activée, les pages CMS seront disponibles pour la recherche dans l'autocomplete. - Autocomplete Limit
Définissez un nombre de résultats maximum affichés dans l'autocomplete.
- Search Results Limit
C'est le nombre maximum de résultats affichés dans la colonne de droite de la page de résultats de recherche. Notez que “0” ou vide signifie illimité. - Searchable Attributes
Définissez sur quels attributs sont basées les recherches. - Excluded Pages
Sélectionnez les pages CMS qui ne seront pas prises en compte pour la recherche.
ETAPE 4 : Gérez le point pour affiner les résultats
L'extension Enhanced Autocomplete vous permet de booster très facilement vos attributs produits et produits au niveau des résultats de recherche en leur attribuant un poids.
Par attribut produit
Afin de définir un poids pour chacun de vos attributs, allez dans :
CatalogAttributes Manage ATTRIBUTES
Éditez l'attribut que vous souhaitez. Puis dans l'onglet Properties et le sous-onglet Elasticsearch Settings, définissez une valeur entre 1 et 10 selon le poids que vous souhaitez assigner.