A veces tenemos requisitos de otros equipos internos para buscar cierta información. Esta consulta nos resultó útil para encontrar lo que necesitábamos.
-- [params]
-- user_id :user
-- int_list :category_ids = 0
SELECT
p.id AS post_id,
p.raw,
p.created_at,
p.topic_id
FROM posts p
WHERE p.user_id = :user
AND p.topic_id IN (
SELECT t.id
FROM topics t
WHERE (':category_ids' = 0 OR t.category_id IN (:category_ids))
AND t.archetype <> 'private_message'
)
AND p.raw LIKE '%```%'
No estoy seguro de si está exportando estos datos, pero si los está utilizando dentro del explorador de datos, uno de los trucos ingeniosos que me encanta usar para todas las búsquedas basadas en usuarios es el parámetro user_id, que le brinda un cuadro de entrada de búsqueda súper fácil:
-- [params]
-- user_id :user
-- int_list :category_ids = 0
SELECT
p.id AS post_id,
p.raw,
p.created_at,
p.topic_id
FROM posts p
WHERE p.user_id = :user
AND p.topic_id IN (
SELECT t.id
FROM topics t
WHERE (':category_ids' = 0 OR t.category_id IN (:category_ids))
AND t.archetype <> 'private_message'
)
AND p.raw LIKE '%```%'
Esta variación también incluye la magia AS post_id para convertir p.id en un enlace utilizable en los resultados en pantalla, además de expandir el parámetro de categoría para permitir todas o varias categorías (0 para todas, o una lista separada por comas para varias. por ejemplo, 4, 5, 6).
Este parece relativamente rápido, pero también existe este consejo para un método alternativo para buscar palabras clave:
¡He actualizado mi consulta original con esto! En realidad, utilicé el generador de SQL de Discourse AI para ayudarme a lograr esto. Ha sido una experiencia increíble que me ha ahorrado probablemente 4-5 horas cada semana.
Existe un parámetro category_id y group_id, aunque no son tan geniales como el de user_id, donde obtienes un cuadro de selección (funcionan escribiendo el nombre y mágicamente lo convierte al id). Aún así, pueden ser bastante útiles.
(Además, otra información generalmente útil que puede ayudar a refinar algunas de las consultas asistidas por IA es Common Discourse data tips)