User-Interaction-Log-API

Für's Dispatchen des User-Interaction-Logging-Requests vom Frontend brauchen wir im Backend zunächst drei Routen:

  1. track/query: Speichert vom User abgeschickte Queries
  • Parameter: ipadress, query.
  • Erzeugt neuen Eintrag im query-store mit den Parametern. Gibt die Id des erzeugten Eintrags (logid) ans Frontend zurück.
  1. track/hit: Speichert zu einer Query die docid, die vom User ausgewählt wurde
  • Parameter: logId, docId
  • Fügt zum Query-Log mit der Id logid die docid als Treffer hinzu.
  • Inkrementiert im document-store das Dokument mit der Id docId
  1. track/time: Speichert die Dwell-Time zu einem Hit
  • Parameter: logId, docId, dwelltime
  • Speichere im Logeintrag bei den Treffern zusätzlich die Dwell-Time

Datenmodell für Eintrag im query-store

{
  "ipaddress": "216.58.206.14", // nach Schritt 1.
  "query": "Turkey Ham lowcarb", // nach Schritt 1.
  "hits": {
    "42": [41, 112], // nach Schritt 3.
    "45": [123], // nach Schritt 3.
    "112": [] // nach Schritt 2.
  },
  "datetime": 2018-06-12T11:51:00Z1
}

example-query-store-entry.json

Edited by Jonathan Schlue
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information