Benutzergemachte Codeblöcke in einer Kategorie

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 '%```%'
5 „Gefällt mir“

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:

4 „Gefällt mir“
  1. Dieser Benutzer-ID-Selektor ist erstaunlich!
  2. Gibt es auch einen Selektor für Kategorien?

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.

3 „Gefällt mir“

Sie können es auch erweitern, um eine Benutzerlistenversion zu verarbeiten, wenn Sie mehrere haben möchten. z. B.:

-- [params]
-- user_list :users

SELECT
    id AS user_id,
    created_at
FROM users
WHERE id IN (:users)

Es gibt hier weitere Informationen zu einigen der anderen magischen Parameter - Utilizing Parameters in Data Explorer Queries

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)

1 „Gefällt mir“