Filtrar listas de temas en Discourse

:bookmark: Esta guía explica el sistema avanzado de filtrado de temas de Discourse, incluyendo la sintaxis completa del lenguaje de consulta, las opciones de filtro y cómo usar la ruta /filter de manera efectiva.

:person_raising_hand: Nivel de usuario requerido: Todos los usuarios

Usando el lenguaje de consulta de filtro de temas de Discourse

El filtro de temas de Discourse proporciona un potente lenguaje de consulta para encontrar temas basados en múltiples criterios. Esta interfaz de búsqueda avanzada te permite combinar filtros, ordenar resultados y crear consultas precisas para cualquier contenido en tu foro.

Accediendo al filtro

Puedes acceder al filtro de temas de dos maneras:

Acceso directo por URL:
Navega a /filter en tu instancia de Discourse (por ejemplo: https://meta.discourse.org/filter)

Navegación por la barra lateral:
Haz clic en “Más” en tu barra lateral, luego selecciona la opción de filtro

La interfaz del filtro incluye un sistema inteligente de autocompletado que sugiere filtros y valores disponibles a medida que escribes.

Sintaxis básica de consulta

Los filtros utilizan una sintaxis estructurada con el formato:

nombre-del-filtro:valor

Combinar múltiples filtros:

category:support status:open created-after:2023-01-01

Incluir términos de búsqueda regulares:

category:support ssl certificate error

Esto busca temas en la categoría “support” que contengan las palabras “ssl certificate error”.

Filtros de categoría

category: (alias: categories:)

Filtra temas por categoría

Uso básico:

category:support
category:dev,support          # Temas en categorías dev O support
category:documentation:admins # Temas en la subcategoría admins de documentation

Prefijos avanzados:

  • = - Categoría sin subcategorías: =category:general
  • - - Excluir categoría: -category:off-topic
  • -= - Excluir categoría sin subcategorías: -=category:meta

Ejemplos:

category:bug,feature          # Incluir categorías de bug o feature (con subcategorías)
=category:bug,feature         # Incluir categorías de bug o feature (sin subcategorías)
-category:bug,feature         # Excluir categorías de bug o feature (con subcategorías)
-=category:bug,feature        # Excluir categorías de bug o feature (sin subcategorías)

Filtros de etiquetas

tag: (alias: tags:)

Filtra temas por etiquetas (requiere que el etiquetado esté habilitado)

Uso básico:

tag:bug
tag:feature,enhancement       # Temas con etiquetas feature O enhancement
tag:bug+urgent               # Temas con ambas etiquetas bug Y urgent

Exclusión:

-tag:solved                  # Excluir temas con la etiqueta solved
-tag:bug+urgent              # Excluir temas con ambas etiquetas bug y urgent
-tag:bug,urgent              # Excluir temas con etiqueta bug o urgent

tag_group:

Filtra por grupos de etiquetas

Uso básico:

tag_group:moderation
-tag_group:staff-only        # Excluir temas con etiquetas del grupo staff-only

Filtros de fecha

Todos los filtros de fecha admiten fechas específicas (YYYY-MM-DD) y días relativos:

Fechas de actividad

  • activity-before: - Temas con última actividad antes de la fecha
  • activity-after: - Temas con última actividad después de la fecha

Fechas de creación

  • created-before: - Temas creados antes de la fecha
  • created-after: - Temas creados después de la fecha

Fechas de la última publicación

  • latest-post-before: - Temas con la última publicación antes de la fecha
  • latest-post-after: - Temas con la última publicación después de la fecha

Ejemplos de formato de fecha:

created-after:2023-12-25     # Fecha específica (YYYY-MM-DD)
created-after:30             # Hace 30 días
created-after:1              # Ayer
created-after:0              # Hoy

Sugerencias rápidas:

  • 1 - Ayer
  • 7 - La semana pasada
  • 30 - El mes pasado
  • 365 - El año pasado

Filtros de usuario

created-by:

Filtra por autor del tema

Uso básico:

created-by:username
created-by:user1,user2       # Temas de user1 O user2
created-by:@username         # El prefijo @ es opcional

Filtros personales (solo usuarios autenticados)

in:

Filtra por tu relación personal con los temas

Opciones disponibles:

  • in:pinned - Temas fijados para ti
  • in:bookmarked - Temas que has marcado
  • in:watching - Temas que estás siguiendo
  • in:tracking - Temas que estás rastreando
  • in:muted - Temas que has silenciado
  • in:normal - Temas con nivel de notificación normal
  • in:watching_first_post - Temas donde solo sigues la primera publicación

Ejemplos:

in:bookmarked category:support
in:watching,tracking         # Temas que estás siguiendo O rastreando

Filtros numéricos

Filtros de “me gusta”

  • likes-min: - Mínimo de “me gusta” totales en todas las publicaciones
  • likes-max: - Máximo de “me gusta” totales en todas las publicaciones
  • likes-op-min: - Mínimo de “me gusta” en la publicación inicial
  • likes-op-max: - Máximo de “me gusta” en la publicación inicial

Filtros de recuento de publicaciones

  • posts-min: - Mínimo número de publicaciones
  • posts-max: - Máximo número de publicaciones

Filtros de participantes

  • posters-min: - Mínimo número de participantes
  • posters-max: - Máximo número de participantes

Filtros de recuento de vistas

  • views-min: - Mínimo recuento de vistas
  • views-max: - Máximo recuento de vistas

Ejemplos:

likes-min:10                 # Temas con al menos 10 "me gusta"
posts-min:5 posts-max:20     # Temas con 5-20 publicaciones
views-min:100 likes-op-min:5 # Temas populares con publicaciones iniciales interesantes

Filtros de estado

status:

Filtra por el estado del tema

Estados disponibles:

  • status:open - Temas abiertos (no cerrados ni archivados)
  • status:closed - Temas cerrados
  • status:archived - Temas archivados
  • status:listed - Temas listados (visibles)
  • status:unlisted - Temas no listados
  • status:deleted - Temas eliminados (requiere permiso)
  • status:public - Temas públicos (categorías no restringidas)

Estados específicos de plugins:

  • status:solved - Temas resueltos (con el plugin Solved)
  • status:unsolved - Temas no resueltos (con el plugin Solved)

Ejemplos:

status:open category:support
status:closed created-after:30

Opciones de ordenación

order:

Ordena los resultados por diferentes criterios

Ordenaciones disponibles:

  • order:activity - Actividad más reciente (por defecto, descendente)
  • order:activity-asc - Actividad más antigua primero
  • order:created - Fecha de creación (más recientes primero)
  • order:created-asc - Más antiguos primero
  • order:latest-post - Fecha de la última publicación (más reciente primero)
  • order:latest-post-asc - Última publicación más antigua
  • order:likes - Más “me gusta” en todas las publicaciones
  • order:likes-asc - Menos “me gusta”
  • order:likes-op - Más “me gusta” en la publicación inicial
  • order:likes-op-asc - Menos “me gusta” en la publicación inicial
  • order:posters - Más participantes
  • order:posters-asc - Menos participantes
  • order:title - Alfabéticamente por título
  • order:title-asc - Alfabéticamente inverso
  • order:views - Más vistas
  • order:views-asc - Menos vistas
  • order:category - Nombre de la categoría
  • order:category-asc - Nombre de la categoría inverso
  • order:read - Fecha de última lectura (usuarios autenticados)
  • order:read-asc - Lectura más antigua primero

Ejemplos avanzados

Encuentra discusiones recientes populares:

created-after:7 likes-min:10 order:likes

Temas de soporte que necesitan atención:

category:support status:open posts-max:3 created-after:7

Tus temas de desarrollo marcados:

category:dev in:bookmarked order:activity

Excluye informes de errores resueltos:

category:bug -tag:solved status:open order:created

Temas de alta participación de usuarios específicos:

created-by:admin,moderator likes-min:5 views-min:100

Temas no listados recientes (solo personal):

status:unlisted created-after:30 order:created

Funciones de autocompletado

La entrada del filtro proporciona sugerencias inteligentes:

  1. Sugerencias de filtros - Muestra los filtros disponibles a medida que escribes
  2. Autocompletado de categorías - Sugiere categorías por nombre o slug
  3. Autocompletado de etiquetas - Sugiere etiquetas con recuentos de publicaciones
  4. Autocompletado de nombres de usuario - Sugiere nombres de usuario con nombres de visualización
  5. Sugerencias de fechas - Ofrece opciones rápidas de fechas (ayer, la semana pasada, etc.)
  6. Soporte de prefijos - Muestra opciones de prefijos para categorías y etiquetas

Consejos y mejores prácticas

  1. Usa el autocompletado - La interfaz del filtro proporciona sugerencias inteligentes a medida que escribes
  2. Combina filtros - Mezcla diferentes tipos de filtros para obtener resultados precisos
  3. Comparte URLs de filtros - Las URLs de filtros son compartibles: copia la URL para compartir tu búsqueda
  4. Añade filtros útiles a tu barra lateral - Las URLs de filtros se pueden añadir a tu barra lateral para un fácil acceso
  5. Usa la exclusión - Usa el prefijo - para excluir resultados no deseados
  6. Atajos de fecha - Usa números para fechas relativas (30 = hace 30 días)
  7. Navegación por teclado - Usa las teclas de flecha para navegar por las sugerencias, Tab/Enter para seleccionar

Creación de enlaces personalizados en la barra lateral

Puedes añadir enlaces de filtro a tu barra lateral como enlaces personalizados:

  1. Ve a la configuración de tu barra lateral
  2. Añade un enlace personalizado con una URL de filtro como /filter?q=category:support status:open
  3. Dale un nombre descriptivo como “Temas de soporte abiertos”

Notas técnicas

  • El filtro utiliza la búsqueda de texto completo para palabras clave combinadas con filtros
  • Se aplica una longitud mínima de término de búsqueda a las búsquedas de palabras clave
  • Los resultados tienen en cuenta los permisos: solo ves los temas a los que puedes acceder
  • Las consultas de filtro se procesan en el lado del servidor para mejorar el rendimiento
  • La función admite extensiones de plugins para filtros personalizados

Recursos adicionales

11 Me gusta

3 publicaciones se dividieron en un nuevo tema: Soporte de onebox para filtros de temas

¿Es esto posible? Sé que puedes ver solo las primeras publicaciones en una categoría, pero ¿cómo funciona eso en un tema?

3 Me gusta

Probablemente necesite aclaración, creo que primero encontrará todos los temas en las categorías que sigues, se actualizará

2 Me gusta

¿Hay alguna forma de combinarlo también con los filtros clásicos de no leído/nuevo?

2 Me gusta

Creo que hay una URL hacky, pero puedo añadir soporte para status:unread-posts y topics mañana, no es muy difícil.

3 Me gusta

Creo que preferiría en: porque es un filtro personal como marcadores o seguimiento. Los estados se refieren al estado del tema.

Esperaría que siguiendo devolviera todos los temas que estoy siguiendo, no todos los temas de las categorías que estoy siguiendo. ¿Es esa una suposición incorrecta? Me parece confuso si “seguir primera publicación” se refiere a la categoría mientras que los otros estados se refieren a los temas.

2 Me gusta

Es posible que necesitemos otro operador para esta semántica de observación

De acuerdo, es posible que necesite modificar las partes internas para admitir varias cláusulas in.

¡Me encantaría una forma de filtrarlo por temas que aún no he visto y por los que aún no he respondido!

¿Es eso posible?

Por ejemplo, un filtro para “Publicaciones en la categoría de Introducciones a las que aún no he respondido”.

2 Me gusta

publicación:

in:unseen category:welcome -user:shauny

O incluso si no te importa lo no visto, podrías usar:

category:welcome -user:shauny

¿Hay soporte para cosas como in:first como en la búsqueda? Gracias.

¿Cómo verías que funcione?

Por ejemplo, mostrar todos los temas con una palabra clave determinada para ocultarlos (en lugar de usar la búsqueda).

Esto ya funciona:

https://meta.discourse.org/filter?q=glitchy%20category%3Abug

Y también:

https://meta.discourse.org/filter?q=glitchy%20category%3Abug%20f

Pero supongo que si hay alguna otra palabra clave como in:first oculta que no es manejada por el filtro, podemos enviarla a la búsqueda…

1 me gusta

Ah, ya veo: f busca eso en la primera publicación. No lo encontré en el documento, tuve que buscar aquí. ¡Gracias!

1 me gusta

Me falta un filtro: “ningún temporizador de tema configurado para cerrar” o “ningún temporizador de tema configurado para cerrar después de la última respuesta”. ¿Existe y simplemente no lo encuentro?

Estoy usando un filtro enlazado desde mi barra lateral para clasificar los temas de soporte aquí en meta, ya que empiezan a envejecer sin resolverse.

Aquí está el filtro tal como se ve ahora:

category:support status:open status:unsolved activity-before:7 assigned:nobody

Funciona bastante bien, pero como verás, hay algunos temas listados para los que he configurado temporizadores de tema y que ya no me gustaría ver en la lista.