Posso excluir nomes de usuário da pesquisa

Existe uma maneira de remover postagens de um usuário específico dos resultados da pesquisa? Atualmente, se um usuário muito ativo tiver um nome de usuário que começa ou inclui um termo popular em uma comunidade, como…

Termo de pesquisa: ‘ABCD’
Nome de usuário: ‘ABCDAndUser…’

…Pesquisar o referido termo geralmente traz uma lista de postagens do nome de usuário, a ponto de ser quase impossível diferenciar os resultados das postagens aleatórias desse usuário das que estão realmente no tópico e simplesmente incluem esse usuário na discussão. Idealmente, a maioria dos membros desejaria uma lista de postagens no tópico em vez daquelas que apenas incluem o referido usuário postando sem o termo em uso ativo.

Editar: Atualmente, não estou ciente de uma solução alternativa para isso, além de alterar o nome de usuário mencionado e/ou os usuários bloquearem o nome de usuário mencionado durante a pesquisa. Nenhum desses é ideal.

3 curtidas

Nossa, uau. Ele está realmente exibindo posts feitos por essa pessoa, ou são posts que têm respostas que literalmente incluem o nome de usuário dela?

2 curtidas

Ahh, bom ponto. Em uma inspeção mais detalhada, são postagens que têm respostas que incluem literalmente seus nomes de usuário.

2 curtidas

Parece que deve haver alguma melhoria possível — não parece certo que um nome possa “sequestrar” uma pesquisa dessa forma, e é provável que as pessoas escolham nomes de usuário relacionados ao tópico específico de qualquer fórum.\n\nNão sei o quão difícil isso seria internamente, mas talvez fosse bom suprimir nomes de usuário, a menos que o @ esteja presente.

2 curtidas

Este é um dos motivos pelos quais nomes de usuário reservados existem.

Como padrão, o Discourse bloqueia o seguinte:

Ninguém quer um usuário chamado discourse confundindo a discussão.

As comunidades podem atualizar esta lista para adicionar quaisquer termos específicos às suas discussões.

3 curtidas

Não acho que essa seja a melhor solução para este problema. Por exemplo, posso imaginar em um fórum de carros alguém com um nome de usuário proclamando que possui ou ama algum modelo de carro. Você realmente gostaria de proibir essa possibilidade — ou manter a lista?

Além disso, uma vez tive que fazer uma pergunta de suporte à AT&T e não consegui usar o nome “Matthew”. Quer adivinhar por quê?

2 curtidas

Talvez eu tenha entendido mal a configuração como declarada. Você teria que reservar cada instância de qualquer palavra potencialmente problemática em nomes de usuário futuros e removê-la retroativamente dos nomes de usuário dos membros da comunidade também?

Sei que temos membros que usam o nome ‘testuser’, por exemplo. Ou seja, isso só funcionaria como uma solução se usássemos curingas para banir nomes de usuário em massa, não é? Isso parece que poderia facilmente se tornar excessivo em inúmeras abreviações (esta instância em particular foi um ticker de ETF em uma comunidade financeira).

1 curtida

Além disso, na prática, a restrição de nome de usuário não funciona bem com o SSO. Com isso, se o SSO não impuser a mesma restrição e o usuário inadvertidamente escolher um nome “banido”, o Discourse atribuirá a ele um nome de usuário aleatório semelhante a um uuid longo.

1 curtida

Como um exemplo concreto, estou imaginando

  1. um usuário se autodenominou msft_2000
  2. Agora, toda vez que alguém diz “O que @msft_2000 diz” ou “o que msft_2000 diz”, isso aparece na pesquisa

Honestamente, não tenho certeza do que seria a coisa certa a fazer, eu provavelmente abordaria isso na direção inversa.

  • Algum plugin especial que transforma MSFT → “onebox mágico da msft com dados extras”
  • Analisar as consultas de pesquisa por tickers de ações conhecidos e fazer uma transformação na consulta de pesquisa.

Certamente será muito complicado e caro. A única solução simples que consigo pensar é renomear usuários.

1 curtida

Existe um motivo específico para o Discourse não imitar o sinal de menos do Google para excluir resultados de pesquisa que contenham um termo (ou, neste caso, um nome de usuário como termo a ser excluído) de uma pesquisa? Acho que teria sido a solução mais simples se existisse.

Desculpe, preciso que esta conversa seja fundamentada.

Você está dizendo que gostaria de pesquisar por:

msft -msft_user

Isso é tecnicamente possível em nosso índice atual, mas exigiria muito trabalho para ser implementado. Especialmente porque msft_user é tokenizado em dois tokens (msft / user), então precisaríamos usar a sintaxe é seguido por. Posso ver o mérito de implementar um operador -, mas não é uma mudança trivial.

3 curtidas

Sim, desculpas se isso ficou muito longo. Certamente não foi minha intenção.

Pensei em perguntar depois que um de nossos membros levantou essa situação, pois parecia uma mudança adequada quando sua equipe estava trabalhando recentemente em melhorias na pesquisa.

Isso responde à consulta. :+1:

2 curtidas

Sem problemas, acho que é um pedido perfeitamente legítimo, apoiar -algo e -\"uma frase mais longa\" pode ser bastante útil em todos os tipos de casos.

Não é uma mudança trivial, mas também não é um trabalho enorme, o principal sobre essa mudança é que ela é um pouco complicada.

Estou marcando isso e na próxima rodada de trabalho em busca, podemos revisitar!

Muito obrigado por levantar isso.

7 curtidas

Isso também não é apenas um bom caso de uso para tags?

excluindo tags é suportado:\n\n\n-tags:bug+feature: excluindo tópicos marcados como bug e feature\n-tags:bug,feature: excluindo tópicos marcados como bug ou feature

5 curtidas