Dans une application web moderne, la recherche joue un rôle essentiel. Bien conçue, elle permet aux utilisateurs de trouver quasi-instantanément ce pourquoi ils sont venus sur le site. Il est donc important de choisir consciencieusement la solution la plus adaptée au projet.
Afin de pouvoir fournir une recherche de qualité et suffisamment moderne pour répondre aux attentes utilisateurs, nous avons fait le choix d’adopter le moteur Elasticsearch. La pertinence des résultats et les performances d’ElasticSearch en font aujourd’hui le moteur de recherche embarqué le plus populaire.
A la différence des solutions SaaS comme Algolia ou Google Custom Search, ElasticSearch est une solution open source auto-hébergée. Ce fonctionnement offre une maîtrise totale des données indexées et donc une meilleure protection des informations privées. Elasticsearch est également construit sur des standards ouverts pour garantir une plus grande interopérabilité.
Elasticsearch est construit sur la technologie Lucene dont la rapidité est au coeur de la conception. Les mécanismes de construction et d’éclatement des index Elasticsearch ont été pensés pour fournir un résultat avec une haute performance, même sur plusieurs téraoctets de données.
Afin de retourner des résultats de recherche les plus pertinents possible, Elasticsearch propose des composants poussés d’analyse linguistique : retrait des préfixes et suffixes, élision des articles, rapprochement orthographique (fuzzy search)... Ces composants sont finement configurables. Il est même possible de créer ses propres règles pour les recherches utilisant des jargons métiers complexes.