Skip to content

Repository files navigation

Banner do Autocomplete

Sugestões de busca em tempo real com Go, WebSocket e Elasticsearch.

versão do go CI licença

FuncionalidadesComo funcionaComo usar

Funcionalidades

  • Indexação de termos no Elasticsearch via HTTP
  • Sugestões de autocomplete por busca wildcard
  • Ranking dos termos mais frequentes via agregação terms
  • Push das sugestões em tempo real por WebSocket
  • Endpoint de health check

Como funciona

O backend expõe uma rota HTTP para indexar termos e um endpoint WebSocket para buscá-los. A cada mensagem recebida no socket, o servidor consulta o Elasticsearch por correspondências parciais do termo digitado e, em paralelo, recalcula os termos mais frequentes já indexados, devolvendo os dois no mesmo frame. O frontend (index.html + script.js) é um cliente mínimo só para exercitar o fluxo.

Como usar

Docker

make up

Sobe o Elasticsearch e a API já conectados; a API fica em :8080.

Local

Suba o Elasticsearch:

docker compose up elasticsearch

E rode a API:

make run

Popule alguns termos de exemplo com GET /populate, ou envie os seus com POST /send. Para rodar os testes (precisam do Elasticsearch no ar):

make test

About

Sugestões de busca em tempo real em Go: WebSocket e Elasticsearch (busca wildcard + agregação de termos).

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages