Je to kritický případ použití pro vyhledávání a MongoDB a Redis jsou perfektní pro vyhledávání založené na klíčích a nepoužívají se pro účely Vyhledávání, zatímco Elasticsearch je distribuovaný vyhledávač vytvořený speciálně pro takový případ použití.
Před výběrem systému byste měli vědět, jak vaše funkce interně funguje, a měli byste zvážit její výběr.
Nefunkční požadavky na vaši funkci
- Jaký by byl celkový počet vyhledávacích dotazů za sekundu (QPS)?
- Jak často byste aktualizovali dokumenty (tj. jména ve vašem příkladu).
- Co je SLA za jmény aktualizována a objevují se ve výsledcích vyhledávání?
- SLA pro vaše výsledky vyhledávání.
Některé funkční požadavky.
- Jak by mělo vypadat automatické doplňování, hledání předpon a vkládání jmen?
- Minimální počet znaků, které by měl uživatel napsat, než se jim zobrazí výsledky automatického doplňování.
- Jak často se mohou výše uvedené požadavky měnit.
Elasticsearch indexované dokumenty v obráceném indexu a pracovní tokeny se shodují (které lze snadno přizpůsobit tak, aby vyhovovaly obchodním požadavkům), a proto je vyhledávání super rychlé. Redis a MongoDB tuto strukturu interně nemají a neměly by se pro tento případ použití používat. Neměli byste mít žádné pochybnosti o tom, že k implementaci automatického doplňování zvolíte Elasticsearch nad těmito možnostmi.