MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Autocomplete avec java, Redis, Elastic Search, Mongo

Il s'agit d'un cas d'utilisation de recherche critique, et MongoDB et Redis sont parfaits pour les recherches basées sur des clés et ne sont pas utilisés à des fins de recherche, tandis qu'Elasticsearch est un moteur de recherche distribué, conçu spécifiquement pour ce cas d'utilisation.

Avant de choisir le système, vous devez savoir comment votre fonctionnalité fonctionne en interne et ci-dessous la considération pour la sélectionner.

Exigences non fonctionnelles pour votre fonctionnalité

  1. Quel serait le nombre total de requêtes de recherche par seconde (RPS) ?
  2. À quelle fréquence vous mettriez à jour les documents (par exemple, les noms dans votre exemple).
  3. Quel est le SLA une fois que les noms ont été mis à jour et apparaissent dans les résultats de recherche ?
  4. SLA pour vos résultats de recherche.

Quelques exigences fonctionnelles.

  1. À quoi devrait ressembler la saisie semi-automatique, la recherche par préfixe, infixe sur les noms ?
  2. Le nombre minimum de caractères que l'utilisateur doit saisir avant de lui montrer les résultats de la saisie semi-automatique.
  3. La fréquence à laquelle les exigences ci-dessus peuvent changer.

Elasticsearch a indexé les documents dans l'index inversé et fait correspondre les jetons (qui peuvent être facilement personnalisés pour répondre aux besoins de l'entreprise), d'où une recherche ultra rapide. Redis et MongoDB n'ont pas cette structure en interne et ne doivent pas être utilisés pour ce cas d'utilisation. Vous ne devriez avoir aucun doute sur le choix d'Elasticsearch pour implémenter la saisie semi-automatique.