Maison > Article > développement back-end > Nous avons choisi Meilisearch plutôt que d'autres moteurs de recherche malgré un inconvénient majeur
Nous travaillons continuellement à l'amélioration de nos commentaires sur les produits par Hexmos jour après jour pour la prochaine version.
De nouvelles fonctionnalités et pages apparaissent, l'interface utilisateur change, des bugs sont remarqués et corrigés, et de nombreux changements se produisent dans le produit. Au fur et à mesure que le produit se développe, nous réalisons que nous devons améliorer la navigation à travers le produit.
Nous disposons déjà d'une barre latérale et d'un package de recherche côté client cmdk pour naviguer vers différents écrans, mais des difficultés surviennent lorsque nous voulons rechercher différents profils d'utilisateurs, équipes, performances d'équipe, etc., ce qui nous oblige à intégrer un meilleur moteur de recherche tiers pour les commentaires.
Une autre raison pour un moteur de recherche dédié est que nous avons d'autres produits dans la chaîne tels que FeedZap, qui nécessite à l'avenir des opérations de recherche de texte complexes.
Considérant cela, nous prévoyons de déployer des efforts pour mettre en œuvre un moteur de recherche dédié et puissant qui s'adapte à nos cas d'utilisation et à la disponibilité des ressources.
Il existe de nombreux moteurs de recherche disponibles, notamment des moteurs de recherche open source, sans serveur, basés sur serveur, etc.
Avant de vous lancer dans la recherche du bon système, il est toujours préférable de faire une analyse de vos besoins et de votre infrastructure, y compris vos besoins présents et futurs.
Pour certains produits, les données consultables sont minimes mais nécessitent une fonction de recherche décente avec un fonctionnement minimal, mais ne peuvent pas se permettre un serveur dédié.
Pour les autres produits, l'ensemble de données est plus grand, nécessite des opérations de recherche complexes supplémentaires et dispose de suffisamment de ressources pour charger un moteur de recherche dédié.
Sur cette base, j'ai examiné quelques moteurs de recherche populaires.
Si vous utilisez PostgreSQL et que vous ne souhaitez gérer aucune autre base de données basée sur un index, la recherche en texte intégral PostgreSQL (PSFTS) est une bonne option. Cependant, il n'est pas recommandé pour les cas d'utilisation importants où vous traitez des millions de transactions et une gestion étendue des données.
Bleve est une autre option à considérer si votre projet s'inscrit dans l'écosystème Go. Ceci est recommandé si vous ne pouvez pas compter sur de puissants services de moteur de recherche basés sur un serveur. Voici le rapport de référence sur Bleve.
Tantivy est écrit en Rust et est particulièrement utile pour les projets basés sur Rust. Il a reçu de nombreux retours positifs et constitue une bonne option à considérer.
Si vous possédez un serveur ou une instance cloud et avez besoin d'un moteur de recherche puissant et évolutif avec un contrôle total, alors une option basée sur le serveur est la solution.
Nos considérations et exigences nous ont amenés à choisir un moteur de recherche basé sur serveur. Nous avons suffisamment de ressources pour l'héberger, et c'est mieux que les options sans serveur pour
Après un filtrage approfondi, nous l'avons réduit à quatre options dans cette catégorie, telles que :
Voici une comparaison entre eux :
Criteria | meiliSearch | Typesense | Pisa Search | Manticore |
---|---|---|---|---|
Search-as-you-type | yes | yes | No | No |
facet search | yes | yes | No | No |
multiple schema/product support | yes | yes | - | yes |
RAM usage | for 224 MB disk:~305 MB RAM prmary index location is disk | primary index location is RAM, for 100MB disk requires 300MB RAM | - | - |
CPU Usage | for 12 core machine it uses maximum 6 core github issues related to high cpu usage | for 4vCPU handle 104 concurrent search/seconds | - | - |
typo, synonyms handling | yes | yes | - | - |
Nous avons filtré PISA Search et Manticore car aucun d'eux n'offre les fonctionnalités de recherche au fur et à mesure de la frappe et de recherche par facettes, qui sont requises pour notre application.
Continuez la lecture de l'article complet ici : https://journal.hexmos.com/we-chose-meilisearch-over-10-other-search-engines-despite-a-major-drawback/
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!