Qirvox
A busca que entende o que você quis digitar.
O Qirvox é a engine de busca do uloggd, feita por nós, do zero. É ele que encontra os jogos quando você procura no catálogo: com erro de digitação, sigla, número romano ou o título pela metade.
Do jeito que você digita de verdade
Cada exemplo abaixo é uma busca real e o primeiro resultado que ela traz hoje.
- Erros de digitaçãobayoenta 2Bayonetta 2
- Singular e pluralfive nightFive Nights at Freddy's
- Siglasff7Final Fantasy VII
- Algarismos e romanosdark souls 3Dark Souls III
- Enquanto você digitazelda ocarThe Legend of Zelda: Ocarina of Time
- Palavras juntasmegamanx5Mega Man X5
- Sem acentopokemon emPokémon Emerald Version
- Apelidos de semprebotwThe Legend of Zelda: Breath of the Wild
Cinco etapas, em milissegundos
- 01
Normaliza
Acentos, maiúsculas e pontuação saem do caminho, do mesmo jeito que o catálogo lê os títulos.
- 02
Lê as palavras
Separa números de sequência, siglas e a última palavra, que talvez você ainda esteja digitando.
- 03
Junta candidatos
Cada palavra procura do jeito que foi digitada, como começo de outra, com erros, junta, separada ou como sigla.
- 04
Ordena
Primeiro pelo texto: quantas palavras bateram, em que ordem e com quanta certeza. Só depois pela popularidade do jogo.
- 05
Entrega
Devolve só os ids. O uloggd busca os jogos no PostgreSQL, com filtros e permissões, como sempre.
379 mil jogos, um índice
Medido em 4.872 buscas de teste, com o jogo esperado de cada uma. O tempo é o do motor, sem a rede.
- 84%
- das buscas com o jogo certo em 1º lugar
- 95%
- com ele entre os 10 primeiros
- 87%
- acertam com dois erros numa palavra média
- < 5 ms
- para 95% das buscas, no motor
Nenhum truque por jogo
Não existe uma lista dizendo que "ff7" é Final Fantasy VII. As regras são gerais e valem para os 379 mil jogos do catálogo, inclusive os que ainda vão chegar.
Medido, não chutado
Toda mudança roda contra 4.872 buscas de teste, em 17 jeitos diferentes de digitar. Se quebra mais do que conserta, não entra.
O título vem antes da fama
Um jogo popular nunca passa na frente de um que bate melhor com o que você digitou. A popularidade só desempata.
Rápido, e com plano B
Escrito em Rust
Roda dentro do próprio servidor do site, sem serviço à parte, ligado pelo Node-API.
Índice em memória
O catálogo inteiro cabe em algumas dezenas de megabytes. Uma busca não toca o banco de dados para encontrar nada.
Uma cópia por réplica
Cada servidor do uloggd carrega o próprio índice de um snapshot e acompanha o catálogo quando ele muda.
Nunca te deixa na mão
Se o Qirvox ainda está carregando, demora ou falha, a busca do PostgreSQL responde no lugar. Você recebe resultado, não erro.
Hoje são jogos. Amanhã, o resto.
O Qirvox foi pensado para buscar mais do que jogos: usuários, listas e avaliações podem entrar como novos tipos de documento. Achou uma busca que deveria funcionar e não funciona? Conta pra gente.