E se você pudesse incorporar complexos modelos de machine learning para ranqueamento diretamente no seu motor de busca, contornando completamente serviços externos de inferência e sua latência de rede associada? É exatamente isso que os desenvolvedores da Swiggy alcançaram para suas sugestões de autocompletar, indo além de regras estáticas para entregar resultados significativamente mais relevantes com velocidades sub-milissegundo. Isso não se trata apenas de gerar código de AI; trata-se de repensar fundamentalmente como ferramentas de AI podem ser integradas em experiências de produto centrais, tornando-as mais rápidas e inteligentes.
Por muito tempo, construir um sistema de autocompletar verdadeiramente inteligente parecia um trade-off para Desenvolvedores de Software. Você poderia ter respostas rápidas como um raio confiando em correspondência lexical básica e um conjunto de regras estáticas cuidadosamente ajustadas manualmente. Ou, você poderia almejar relevância sofisticada usando machine learning, mas isso geralmente significava introduzir serviços adicionais, saltos de rede e a inevitável sobrecarga de latência que vem com um motor de inferência externo. Essa latência é particularmente dolorosa para autocompletar, onde cada tecla pressionada exige uma sugestão instantânea e relevante.
Essa abordagem tradicional muitas vezes forçava os desenvolvedores a fazerem compromissos. A equipe de engenharia poderia passar semanas, até meses, refinando regras heurísticas, ajustando pesos e mantendo lógica complexa para lidar com casos extremos — um processo frágil e demorado.
Quando um modelo de ML *era* introduzido, ele tipicamente vivia fora do motor de busca principal, exigindo seu próprio pipeline de implantação, considerações de escalabilidade e um endpoint de API. Isso adicionava complexidade arquitetônica significativa, muitas vezes transformando o que deveria ser uma simples consulta de busca em um desafio de orquestração de múltiplos serviços.
O impacto no trabalho diário de um Desenvolvedor de Software era claro: mais infraestrutura para gerenciar, mais pontos potenciais de falha e menos tempo focado no problema central de relevância.
A descoberta da Swiggy contorna esse dilema inteiramente. Ao integrar um modelo de ranqueamento aprendido diretamente dentro do OpenSearch, eles colapsaram o processo tradicional de duas etapas ‘recuperar então ranquear’ em uma operação altamente otimizada, embarcada no motor. Isso significa que os mesmos modelos poderosos usados para ranqueamento avançado agora podem rodar ao lado da geração inicial de candidatos dentro do próprio OpenSearch.
Para o Desenvolvedor de Software, isso se traduz em arquitetura simplificada, latência dramaticamente reduzida e a capacidade de iterar e implantar modelos de machine learning com a mesma agilidade que poderiam aplicar a configurações de índice de busca. Isso os capacita a construir experiências de busca verdadeiramente adaptativas e inteligentes sem o fardo arquitetônico típico.
Considere o fluxo de trabalho típico para um Desenvolvedor de Software encarregado de melhorar a relevância do autocompletar:
Antes de integrar ML diretamente no OpenSearch: Um desenvolvedor configuraria o OpenSearch para recuperação lexical inicial, garantindo uma geração rápida de candidatos. Se quisessem aplicar machine learning, eles então construiriam um serviço separado, talvez um aplicativo Python hospedando um modelo XGBoost. Este serviço receberia os candidatos iniciais, consultaria um feature store para sinais em tempo real, aplicaria o modelo de ML e re-ranquearia os resultados antes de enviá-los de volta. Essa viagem de ida e volta, incluindo latência de rede e tempo de inferência, poderia facilmente adicionar 20-50 milissegundos por tecla — o suficiente para parecer lento para um usuário. O tempo gasto seria gerenciando dois sistemas distintos e o contrato de rede entre eles.
Após integrar ML diretamente no OpenSearch com LTR: O desenvolvedor ainda co

