Wir haben manchmal Anforderungen von anderen internen Teams, nach bestimmten Informationen zu suchen. Diese Abfrage war uns sehr nützlich, um das zu finden, was wir brauchten.
-- [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 '%```%'
Ich bin mir nicht sicher, ob Sie diese Daten exportieren, aber wenn Sie sie im Data Explorer verwenden, ist einer der raffinierten Tricks, auf die ich mich bei allen benutzerspezifischen Suchen gerne verlasse, der user_id-Parameter, der Ihnen ein super einfaches Eingabefeld für die Suche bietet:
-- [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 '%```%'
Diese Variante enthält auch die AS post_id-Magie, um die p.id in einen verwendbaren Link in den angezeigten Ergebnissen umzuwandeln, sowie die Erweiterung des Kategorieparameters, um alle oder mehrere Kategorien zuzulassen (0 für alle oder eine durch Kommas getrennte Liste für mehrere. z.B. 4, 5, 6).
Diese Methode scheint relativ schnell zu sein, aber es gibt auch diesen Tipp für eine alternative Methode zur Suche nach Schlüsselwörtern:
Ich habe meine ursprüngliche Abfrage damit aktualisiert! Ich habe tatsächlich den SQL-Builder von Discourse AI verwendet, um dies zu erreichen. Es war eine unglaubliche Erfahrung, die mir wahrscheinlich 4-5 Stunden pro Woche gespart hat.
Es gibt einen category_id- und einen group_id-Parameter, obwohl sie nicht so schick sind wie der user_id-Parameter, bei dem Sie eine Auswahlbox erhalten (sie funktionieren, indem Sie den Namen eingeben und er ihn magisch in die ID umwandelt). Sie können aber trotzdem sehr nützlich sein.
(Außerdem ist eine weitere allgemein nützliche Information, die bei der Verfeinerung einiger KI-gestützter Abfragen helfen kann: Common Discourse data tips)