MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Autocomplete com java , Redis, Elastic Search , Mongo


É um caso de uso de pesquisa crítico, e o MongoDB e o Redis são perfeitos para pesquisas baseadas em chaves e não são usados ​​para fins de pesquisa, enquanto o Elasticsearch é um mecanismo de pesquisa distribuído, criado especificamente para esse caso de uso.

Antes de escolher o sistema, você deve saber como seu recurso funciona internamente e abaixo a consideração para selecioná-lo.

Requisitos não funcionais para seu recurso

  1. Qual ​​seria o número total de consultas de pesquisa por segundo (QPS)?
  2. Com que frequência você atualizaria os documentos (ou seja, nomes em seu exemplo).
  3. Qual ​​é o SLA após os nomes serem atualizados e aparecerem no resultado da pesquisa?
  4. SLA para seus resultados de pesquisa.

Alguns requisitos funcionais.

  1. Qual ​​deve ser a aparência do preenchimento automático, pesquisa de prefixo e infixo em nomes?
  2. Mínimo de quantos caracteres o usuário deve digitar antes de mostrar os resultados do preenchimento automático.
  3. Com que frequência os requisitos acima podem mudar.

Elasticsearch indexou documentos no índice invertido e funciona em correspondência de tokens (que pode ser facilmente personalizado para atender aos requisitos de negócios), portanto, super rápido na pesquisa. Redis e MongoDB não estão tendo essa estrutura internamente e não devem ser usados ​​para este caso de uso. Você não deve ter dúvidas sobre a escolha do Elasticsearch para implementar o Autocomplete.