Filtro de pesquisa - apenas tópicos / apenas posts

Embora eu entenda que a busca regular por tópicos/posts pode ser suficiente para a maioria dos casos de uso, recebi algumas solicitações de usuários para ter uma maneira de filtrar os resultados, caso estejam procurando por isso, para mostrar apenas respostas ou tópicos (o que se traduziria em primeira resposta a um tópico, eu acho).\n\nIsso provavelmente também poderia ser alcançado com um componente de tema, mas pensei em perguntar primeiro caso eu esteja apenas perdendo algo óbvio.\n\nObrigado

1 curtida

Você tem a capacidade atualmente de pesquisar todos os tópicos e postagens

Você quer dizer que deseja essa funcionalidade excluindo os resultados da pesquisa de títulos de tópicos?

1 curtida

Você já analisou os recursos de Pesquisa Avançada para filtragem?

Sei que é possível pesquisar em tópicos e posts. O que está sendo relatado é que os resultados misturam tópicos e posts, e seria bom ter uma maneira de dizer ao Discourse para mostrar “apenas os tópicos” OU “apenas os posts”, além de ambos (como está agora).

Como os resultados são apresentados em uma interface de rolagem infinita, ser capaz de filtrar o que o usuário sabe que não estará lá, limitaria o ruído.

Se eu sei que estou procurando um post, não há razão para ter que continuar rolando também pelos tópicos para encontrar o que quero.

Espero que esteja claro agora.

1 curtida

No Discourse, um “tópico” significa todas as mensagens. O primeiro post é o post original (OP) ou primeiro post.

Entendo, no entanto, que pode ser confuso, pois o botão New Topic cria um tópico que consiste em 1 post inicialmente, e mais posts quando há respostas.

Dito isso,

Significaria “apenas o primeiro post de um tópico” e está de fato disponível, é o filtro in:first:

Pesquisar em todos os posts, exceto nos primeiros, não é possível e, no momento, não há operador para excluir um termo, um filtro, uma categoria ou qualquer outra coisa.

2 curtidas

Obrigado pela visão @Canapin.

Obrigado pela especificação sobre basicamente retornar apenas tópicos. Perdi completamente isso :blush:

Como solução alternativa, quando o resultado da pesquisa retornar os resultados reais, ele constrói a URL, você acha que poderíamos ter um componente/plugin que simplesmente adiciona style="display:none" àqueles que seguem o formato de URL que especifica uma postagem e vice-versa para tópicos.

No caso de um plugin, em algum lugar nos resultados da pesquisa deve haver uma função que determine “esta é a primeira resposta” ou “esta não é a primeira resposta”. Talvez seria possível interceptar isso e pular a adição ao array de resultados, dado um novo filtro adicionado especificamente?

Se você souber qual arquivo tem esse controller/model, pode linká-lo aqui para que eu também possa dar uma olhada? :slight_smile:

1 curtida

É um mundo desconhecido, estranho e aterrorizante para mim, mas olhando o código, o controller estaria aqui:

Os filtros de busca parecem estar aqui:

E você pode se interessar em ver como o Discourse Assign adiciona um filtro à busca:

2 curtidas

Obrigado @Canapin. Voltarei a verificar isto em algumas semanas, pois estou atualmente atolado de trabalho e apenas a recolher informações sobre o que posso trabalhar depois de ter um pouco mais de tempo livre :slight_smile:

1 curtida