Se você quiser conversar sobre sua experiência, sinta-se à vontade para agendar um bate-papo por chamada Agradecemos qualquer feedback
Funcionalidades
Busca rápida
Capacidade de buscar tópicos, posts, mensagens de chat e usuários
Resultados de Posts e Tópicos incluem Mensagens Privadas
Mensagens de Chat incluem canais privados e DMs
Filtros baseados em UI para coisas como tags, categorias, usuários, caixas de entrada, canais, etc.
Modos de busca por Palavra-chave, Semântica, Híbrida e HyDE
FAQ
A busca para de funcionar depois de um tempo na página
De fato para; por favor, atualize.
Não suporta nossa gramática de busca, como @usuário ou #categoria
De fato não suporta, mas é algo que pode ser facilmente adicionado se decidirmos lançar isso.
O fato de a busca de Tópicos e Posts serem distintas é uma escolha estranha
Posso entender o porquê, especialmente se você está acostumado com o funcionamento da busca do Discourse na última década. Se decidirmos lançar isso, poderíamos construir um modo que faça ambos ao mesmo tempo, ou até mesmo simplesmente executar ambos e mostrá-los na UI. Pelas restrições deste experimento, esta foi a maneira mais fácil de abordar ambos os casos de uso de:
Eu sei que este tópico existe e só quero encontrá-lo (Busca de Tópico)
Eu quero pesquisar qualquer ocorrência desta consulta (Busca de Post)
A qualidade dos resultados ainda não está boa
Mal tocamos no que é possível aqui; no momento, priorizamos apenas categorias e atribuímos pesos ao título e ao corpo. Isso precisaria de ajustes adicionais para corresponder ao refinamento que temos na busca existente, mas também traz a possibilidade de ir além. Infelizmente, muito é controlado via API JS, e a biblioteca que estamos usando nos limitou bastante aqui.
Semântica / HyDE / Híbrida são lentas
Adicionamos um debounce maior a elas para contornar alguns incômodos na biblioteca JS que estamos usando. Se decidirmos lançar isso, esta biblioteca JS é a primeira na lista de demissão. Quanto à velocidade geral delas, dependem de duas requisições, a primeira para embeddings, que está rodando em hardware antigo na AWS, e isso não ajuda. Poderíamos também injetar embeddings no proxy middleware para reduzir a latência. Novamente, restrições de tempo do experimento.
Detalhes técnicos
Este experimento está usando Typesense, um clone open-source do Algolia. Ele está rodando em uma instância EC2 no mesmo local de todo o resto no hosting do Meta.
O front-end não requisita diretamente do Typesense; em vez disso, todas as chamadas são proxied via app Discourse, usando um middleware Rack.
A barra de busca / resultados / refinamentos está usando InstantSearchJS encapsulado em EmberJS. Infelizmente, esta biblioteca causou muitos problemas, e não a usaremos se lançarmos isso.
O servidor está usando 7.35 GB de RAM para indexar todo o Meta. Apenas tenha em mente que a maior parte disso é por causa dos embeddings; seria menos de 2 GB sem embeddings.
A opção de palavra-chave é literal, para correspondências mais flexíveis você pode tentar semântica (que procura por significado semelhante) ou modo híbrido (que faz uma mistura de ambos):
Eu acho que se fôssemos continuar com este plugin, faria sentido usar o modo híbrido como padrão porque as pessoas não estão realmente familiarizadas em alternar tipos de pesquisa como este.
Eu dei uma rápida tentativa e acho promissor. Nos últimos dias, procurei pelo tópico da barra de administração experimental e pelo tópico de restauração de backups pela linha de comando. No primeiro caso, demorou um pouco para encontrá-lo nos resultados da pesquisa, no segundo caso, acabei procurando em meus favoritos. Mas a nova pesquisa traz ambos e é muito mais rápida que a antiga. Então, definitivamente uma melhoria para mim
Interessante, mal posso esperar para explorar mais! Parece promissor até agora!
Será que algo assim poderá eventualmente substituir totalmente a função de pesquisa? Além disso, esta ferramenta servirá como um complemento à ferramenta de pesquisa atual na barra de ferramentas superior?
Concordo. Não consigo me lembrar de um site onde precisei mudar o modo de pesquisa.
Como usuário, espero um modo padrão que funcione bem na maioria das situações.
Os filtros dinâmicos avançados são realmente incríveis! Será super útil para refinar pesquisas rapidamente.
No geral, muito bom trabalho, equipe ; vou experimentar mais.
Este experimento foi feito para pesquisar a viabilidade de reconstruir nossa busca do zero e quais são as desvantagens dessa nova abordagem. Embora seja muito cedo para dizer, se a nova experiência de busca for bem recebida o suficiente, ela poderá ser considerada para integração em muitos recursos de busca do Discourse, seja a busca em página inteira, a busca inline no cabeçalho, a busca de tópicos semelhantes para Tópicos Relacionados, menções de usuários, autocompletar de hashtags, etc.
Isso é facilmente factível com esta tecnologia, tanto no mobile quanto no desktop, muito parecido com a interface de busca do Google.
Os modos existem apenas para o experimento, para que as pessoas possam comparar e testar facilmente. Se isso fosse lançado, os modos provavelmente se tornariam uma opção de administrador, em vez de algo voltado para o usuário.
Também gosto do experimento /filter e da forma como ele apresenta todas as minhas opções de filtro. Parece que há algumas direções exploradas em relação à localização de conteúdo. Isso se complementará?
O que realmente simplificaria as coisas para mim se houvesse uma linguagem comum no final, para que, como usuário, eu tivesse um entendimento direto de:
o que é uma Busca? O que é um Filtro?
como reconheço cada um na interface, onde devo esperar encontrá-los?
quando me é apresentado um conjunto simples/comum de filtros? Como acesso/expando o conjunto completo?
Se enviado, o backend para pesquisa instantânea alimentaria /filter. É basicamente a mesma coisa que já estamos fazendo na pesquisa de Tópicos nesta experiência.
Se não se importa que eu pergunte, para contexto e para que eu saiba exatamente o que procurar ao testar:
O que está errado com a pesquisa atual hoje que você está procurando mudar ou melhorar?
O que estamos avaliando aqui além da velocidade?
Se você decidir reconstruir a pesquisa do zero, há alguma chance de a pesquisa do Discourse pesquisar em outros locais de conteúdo? por exemplo, documentação não hospedada dentro do Discourse?
Eu também tenho uma longa lista, mas queria ter certeza de que viria com perguntas e entendimento antes de insistir
Estou muito feliz em ver a consideração pela melhoria. FWIW, embora ainda precise de trabalho, nos dizem constantemente o quanto nossos usuários amam nossa busca (também conhecida como busca do Discourse) quando a comparam com outras experiências de busca que eles têm, mesmo com suas peculiaridades.
Como uma função de força, minha equipe está usando exclusivamente (pelo menos entre nossa própria equipe) o Discourse exclusivamente para se comunicar. Este foi o primeiro pedido de um dos membros da minha equipe hoje:
Esta é uma coisa que consideramos muito ao experimentar uma solução pronta para uso como o Typesense. Tornaria muito mais fácil estender nossa pesquisa para “documentos” externos, permitindo que os clientes injetem documentos em nosso banco de dados ou permitindo que o front-end consuma de outras instâncias que sigam algumas diretrizes para serem compatíveis.
Ainda bem que acertamos essas duas logo de cara com o experimento! Obrigado pelo feedback.
Além das suas respostas aqui, estou tentando conduzir algumas entrevistas curtas de pesquisa de usuário para entender melhor como você usa a nova pesquisa instantânea
Obter seu feedback qualitativo geral - o que você gostou/não gostou/mudaria/gostaria de ver no futuro
Como a experiência se compara à nossa pesquisa atual
Ver você em ação usando a nova pesquisa
Minhas DMs estão abertas se as pessoas estiverem dispostas a conversar por chamada! Agradeço qualquer feedback