API de Auto-Suggest (Básica) para a Aparda 🚀
Usando as APIs expostas do Duckduckgo, Brave e Ecosia, decidimos criar nossa própria solução de auto sugestões para proporcionar uma experiência ainda melhor aos usuários e também ir construindo uma base pra trabalhar no futuro.
ATUALIZAÇÃO: https://github.com/apardabr/php-auto-suggestion/
1. Objetivo da API:
Desenvolvi em PHP uma API de auto-suggest que recebe consultas através da URL no formato https://ac.aparda.com/api?q={termo_de_pesquisa}
.
2. Funcionamento:
- A API consulta sua própria base de dados para obter sugestões.
- Se não encontrar na base, realiza consultas nas APIs externas (famoso roubar) do Brave e Ecosia.
- As respostas são combinadas, eliminando duplicatas e o termo de pesquisa.
- Os resultados são armazenados na base de dados para consultas futuras.
3. Paralelização de Requisições:
Utilização de cURL para realizar consultas simultâneas às APIs externas, melhorando a eficiência da resposta.
4. Cookies Específicos:
Adição de cookies específicos de localização para as requisições ao Brave (country=br
) e Ecosia (ECFG=pt-br
).
5. Controle de Acesso:
Configuração do cabeçalho Access-Control-Allow-Origin
para permitir solicitações apenas do domínio https://aparda.com
.
6. Evitar Resultados Duplicados:
Implementação de lógica para evitar que o termo de pesquisa apareça nos resultados finais, eliminando duplicatas.
7. Atualização Dinâmica da Base de Dados:
Comparação entre os resultados das APIs externas e os armazenados na base de dados para garantir atualizações dinâmicas (então se estiver desatualizado ele atualiza sozinho).
8. Configuração do .htaccess:
Configuração do arquivo .htaccess para reescrever a URL de https://ac.aparda.com/api.php?q=
para https://ac.aparda.com/api?q=
.
9. Conclusão:
A API agora fornece sugestões de forma eficiente, consulta e atualiza dinamicamente sua base de dados e possui medidas de segurança e controle de acesso configuradas.
com essa base depois vou conseguir construir meu próprio index de "auto-suggest" no elasticsearch