MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Completamento automatico con java, Redis, Ricerca elastica, Mongo

È un caso d'uso di ricerca critico e MongoDB e Redis sono perfetti per ricerche basate su chiavi e non per scopi di ricerca, mentre Elasticsearch è un motore di ricerca distribuito, creato appositamente per tale caso d'uso.

Prima di scegliere il sistema, dovresti sapere come funziona la tua funzione internamente e sotto la considerazione per selezionarla.

Requisiti non funzionali per la tua funzione

  1. Quale sarebbe il numero totale di query di ricerca al secondo (QPS)?
  2. Quanto aggiorneresti i documenti (ad esempio, i nomi nel tuo esempio).
  3. Qual ​​è lo SLA dopo i nomi aggiornati e in arrivo nei risultati della ricerca?
  4. SLA per i tuoi risultati di ricerca.

Alcuni requisiti funzionali.

  1. Come dovrebbe apparire il completamento automatico, prefisso, ricerca infissa sui nomi?
  2. Minimo il numero di caratteri che l'utente deve digitare prima di mostrare loro i risultati del completamento automatico.
  3. Con quale frequenza possono cambiare i requisiti di cui sopra.

I documenti indicizzati di Elasticsearch nell'indice invertito e i token di lavoro corrispondono (che possono essere facilmente personalizzati per soddisfare le esigenze aziendali), quindi super veloce nella ricerca. Redis e MongoDB non hanno questa struttura internamente e non dovrebbero essere usati per questo caso d'uso. Non dovresti avere alcun dubbio sulla scelta di Elasticsearch al posto di questi per implementare il completamento automatico.