Nous avons parfois des exigences d’autres équipes internes pour rechercher certaines informations. Cette requête nous a été utile pour trouver ce dont nous avions besoin.
-- [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 '%```%'
Je ne suis pas sûr si vous exportez ces données, mais si vous les utilisez dans l’explorateur de données, l’un des astuces pratiques sur lesquelles j’aime m’appuyer pour toutes les recherches basées sur les utilisateurs est le paramètre user_id qui vous donne une boîte de saisie de recherche super facile :
-- [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 '%```%'
Cette variation inclut également la magie AS post_id pour transformer p.id en un lien utilisable dans les résultats à l’écran, ainsi que l’expansion du paramètre de catégorie pour permettre toutes les catégories ou plusieurs catégories (0 pour toutes, ou une liste séparée par des virgules pour plusieurs. par exemple, 4, 5, 6).
Celle-ci semble relativement rapide, mais il y a aussi cette astuce pour une méthode alternative de recherche de mots-clés :
Existe-t-il également un sélecteur pour la catégorie ?
J’ai mis à jour ma requête d’origine avec cela ! J’ai en fait utilisé le constructeur SQL de Discourse AI pour m’aider à y parvenir. Ce fut une expérience incroyable qui m’a fait économiser probablement 4 à 5 heures chaque semaine.
Il existe un paramètre category_id et group_id, bien qu’ils ne soient pas aussi pratiques que celui de user_id où vous obtenez une boîte de sélection (ils fonctionnent en tapant le nom et il le convertit magiquement en id). Ils peuvent toujours être très utiles.
(De plus, une autre information généralement utile qui peut aider à affiner certaines des requêtes assistées par l’IA est Common Discourse data tips)