| Zusammenfassung | Discourse Data Explorer ermöglicht es dir, SQL-Abfragen gegen deine Live-Datenbank auszuführen, was eine Berichterstellung mit aktuellsten Statistiken in Echtzeit erlaubt. | |
| Installationsanleitung | Dieses Plugin ist im Discourse-Core enthalten. Es ist nicht notwendig, das Plugin separat zu installieren. |
Wenn du nach Beispielen oder Unterstützung für benutzerdefinierte Abfragen suchst, findest du viele Themen in unserer Kategorie #data-reporting unter dem Tag sql-query. Falls es dafür kein passendes Thema gibt, kannst du gerne ein neues Thema erstellen, um die Community um Hilfe zu bitten.
Abfrage-Hilfe
Bei uns gehostet? Dieses Plugin ist in unseren Business- und Enterprise-Plänen verfügbar. Data Explorer | Discourse - Civilized Discussion
Nach der Installation des Plugins navigiere zu /admin/plugins.
![]()
Klicke auf die Schaltfläche „Einstellungen“ und aktiviere data explorer enabled, kehre zurück und lade die Seite neu.
Es sollte nun ein Tab in der gestapelten Navigation mit der Bezeichnung „Data Explorer“ erscheinen. Wähle ihn aus oder navigiere zu /admin/plugins/discourse-data-explorer und verwende dann die Schaltflächen +, Importieren oder Ausführen, um loszulegen.
Standardabfragen
Bei einer Neuinstallation liefert der Data Explorer mehrere Abfragen mit, die dir helfen können, Erkenntnisse aus der Aktivität deines Forums zu gewinnen. Öffne eine beliebige Abfrage und klicke auf Ausführen, um sie auszuprobieren.
So sehen die Standardabfragen aus.
Hinweis: Standardabfragen werden aus dieser Datei geladen: discourse-data-explorer/lib/discourse_data_explorer/queries.rb at main · discourse/discourse-data-explorer · GitHub
Wenn du eine großartige Abfrage hast, die alle nutzen sollen, erstelle einfach einen PR, genau wie dieser hier.
Standardabfragen können nicht bearbeitet werden. Wenn du sie ändern möchtest, kopiere den SQL-Code und füge ihn in eine neue Abfrage ein.
Abfragen schreiben
Wenn du auf eine der Schaltflächen Bearbeiten in der Abfrageansicht klickst oder eine neue Explorer-Abfrage startest, wird dir ein Bildschirm wie der folgende angezeigt:
Die oberen beiden Felder sind der Name und die Beschreibung der Abfrage. Der Name ist das, was du in der Dropdown-Liste auswählst, und die Beschreibung sollte verwendet werden, um beispielsweise zu erklären, was in die Abfrageparameter eingegeben werden soll, oder um zu beschreiben, welche Daten abgefragt werden.
Das linke Fenster ist der Bereich, in dem du die SQL-Abfrage schreibst. Eine minimale Syntaxhervorhebung und -prüfung wird bereitgestellt.
Abfragen automatisch ausführen
Obwohl du eine Abfrage immer ausführen kannst, indem du die Schaltfläche Ausführen klickst, kannst du Zeit sparen, wenn du der URL den Parameter run hinzufügst.
Zum Beispiel: /admin/plugins/discourse-data-explorer/queries/123?run
Wenn dieser Parameter zur URL hinzugefügt wird, wird die Abfrage ausgeführt, sobald du die Seite lädst. Du musst also nicht auf die Schaltfläche Ausführen klicken, um die Ergebnisse zu sehen. Dies ist besonders hilfreich für Abfragen, die du häufig ausführst, da du sie dann als Lesezeichen speichern oder mit dem Parameter run in deiner Seitenleiste hinzufügen kannst, um sie mit einem Klick auszuführen.
Abfragen importieren
Nehmen wir als Beispiel eine Abfrage, die ich geschrieben habe. Lade diese Datei herunter, öffne dann das Import-Dialogfeld, wähle die hochzuladende Datei aus oder füge die Abfrage in das Textfeld ein. Klicke auf Importieren, um sie zu speichern, und klicke dann auf Ausführen, um die Ergebnisse zu sehen.
most-common-likers.dcquery (1).json (442 Bytes)
Es scheint, als mögen sich alle Discourse-Entwickler ziemlich gut ![]()
Abfragen durchsuchen
Wenn du zu viele großartige Abfragen angesammelt hast, ist das kein Problem! Die Suchleiste kann dir helfen, durch Titel und Beschreibungen zu filtern.
Nicht-Admin-Gruppen das Ausführen von Abfragen erlauben
Du kannst bestimmten Gruppen (einschließlich Moderatoren) Zugriff auf eine Abfrage gewähren, indem du sie der Abfrage hinzufügst:
Nach dem Speichern findest du sie auf der Gruppen-Seite dieser spezifischen Gruppe auf der Registerkarte Berichte:
Klicke auf eine beliebige Abfrage, um sie zu öffnen, und dann auf die Schaltfläche Ausführen, um die Ergebnisse zu sehen. Du kannst Gruppenberichte auch als Lesezeichen speichern, indem du auf die Schaltfläche Lesezeichen klickst.
Abfragen mit vordefinierten Parametern teilen
Wenn du benutzerdefinierte Parameter in deiner Abfrage enthalten hast, kannst du einen Link zur Abfrage teilen und die Parameter in der URL einfügen, sodass sie beim Laden der Seite vorausgefüllt werden.
Du musst die Parameter in der URL im Format params={"parameter_name":"value"} angeben. Trenne mehrere Parameter mit Kommas. Zum Beispiel:
discourse.example.com/g/my-group/reports/6?params={"param1":"value1","param2":"value2"}
Kombiniert mit dem oben erwähnten Parameter run kannst du einen Bericht mit vordefinierten Parametern teilen, der beim Laden automatisch ausgeführt wird.
Ergebnismengenbegrenzung und Export von Abfragen
Bei großen Abfragen wirst du möglicherweise feststellen, dass es eine Begrenzung für die Anzahl der Zeilen gibt, die der Data Explorer anzeigt. Standardmäßig ist das Limit auf 1000 Zeilen festgelegt. Dies dient dazu, zu große Abfragen zu verhindern, die die Leistung deiner Discourse-Instanz verlangsamen oder stören könnten.
Wenn du diese Begrenzung umgehen möchtest, hast du einige Optionen:
- Paginierung: Du kannst deine Ergebnisse paginieren. Anstatt alle Ergebnisse auf einmal zurückzugeben, kannst du deine Abfrage so schreiben, dass sie einen bestimmten Bereich von Ergebnissen zurückgibt. Du kannst diesen Bereich dann anpassen, um verschiedene Abschnitte deiner Daten anzusehen. Dies erhöht das Limit nicht, ermöglicht es dir jedoch, alle deine Daten abschnittsweise anzusehen.
- Limit erhöhen: Wenn du Zugriff auf den Discourse-Server hast und dich damit wohlfühlst, Änderungen an den Discourse-Einstellungen vorzunehmen, kannst du das Limit erhöhen. Dies sollte jedoch mit Vorsicht erfolgen. Das Erhöhen des Limits kann deinen Server stark belasten, wenn du nicht aufpasst, insbesondere wenn mehrere Benutzer gleichzeitig große Abfragen ausführen.
- Ergebnisse herunterladen: Du hast auch die Möglichkeit, die Abfrageergebnisse anstatt sie direkt in Discourse anzuzeigen, herunterzuladen, indem du nach dem Ausführen der Abfrage auf die Schaltfläche
JSONoderCSVklickst. Daten, die im JSON- oder CSV-Format heruntergeladen wurden, haben ein deutlich höheres Ergebnislimit von 10.000 Zeilen. Für programmatische Zwecke solltest du das JSON-Format wählen, oder wenn du die Daten in einer Tabellenkalkulationsanwendung bearbeiten möchtest, ist das CSV-Format möglicherweise bequemer.
Es ist im Allgemeinen eine gute Idee, effizientere Abfragen zu schreiben oder deine Daten zu filtern, sodass du nur das abrufst, was du benötigst, anstatt zu versuchen, das Limit zu umgehen.
Du kannst auch die SQL-Abfrage selbst im .JSON-Format exportieren, indem du auf die Schaltfläche Exportieren klickst. Abfragen, die auf diese Weise exportiert wurden, können dann in andere Discourse-Sites importiert oder mit Drittanbieteranwendungen verwendet werden.
Abfrageplan
Das Kontrollkästchen „Abfrageplan einbeziehen“ kann verwendet werden, um deine SQL-Abfragen besser zu verstehen und zu optimieren.
Wenn du dieses Kästchen aktivierst und eine Abfrage ausführst, zeigt Discourse die Sequenz der Operationen an, die zum Zugriff auf Daten in der Discourse-Datenbank verwendet werden. Dies kann Operationen wie Scans, Joins, Sortierungen und andere Datenbankaktionen umfassen. Durch die Untersuchung des Abfrageplans kannst du genau sehen, wie die Datenbank deine Abfrage ausführt.
Die Data Explorer-Tutorial-Serie
Wir haben auch eine dedizierte #sql-tutorial-Serie über den Data Explorer! Wenn du mehr über das Schreiben von SQL-Abfragen in Discourse lernen möchtest, empfehlen wir dringend, die Themen in dieser Serie durchzulesen:











