2026‐03‐02 Community Board (Kitodo.Production) - kitodo/kitodo-production GitHub Wiki

Teilnehmende: André Hohmann (P), Anja Piller, Armin Möller, Christoph Bartmann, Kerstin Wendt (M), Lole Westedt, Matthias Kissler, Nils Reichert, Thomas Low (Gast)

TOP 1 Auswertung Einschätzung Thomas Low

Vorstellung der Ergebnisse der Einschätzung von Thomas Low bezüglich der Umsetzung der Suche in Kitodo.Production durch Datenbanksuche oder Suchmaschine.

  • Es stehen drei Möglichkeiten zur Verfügung, um die Suche zu implementieren:
    • Weg 1: Verbessern des aktuellen Stands durch Scroll-API
    • Weg 2: Rückkehr zur Suche ausschließlich über den Suchindex (bzw. OpenSearch)
  • Weg 3: Suche ausschließlich über die Datenbank
  • Einschätzung der bestehenden Suchfunktionen
    • Für Oder-Verknüpfung existiert keine spezifische Syntax
      • Dies ist jedoch nicht ausschlaggebend für Entscheidung einer der drei Wege
      • Es müsste gut dokumentiert sein, dass es benötigt wird, um zu vermeiden, dass die Funktion „aus Versehen“ verloren geht
    • Anforderungen sollten dauerhaft verfügbar und auffindbar sein
      • Auf diese sollte man referenzieren können
      • Es ist derzeit schwierig, die Anordnungen aus den Issues, PR, … abzuleiten
      • Auch „einfache“ Anforderungen müssen verfügbar sein
  • Präferenz der Anwender eher zur exakten Suche anstatt zu Suchmaschinen-Feature
    • Erweiterte Suchfunktionen werden bisher nicht angewendet
    • Es muss berücksichtigt werden, ob auch in Zukunft keine Suchmaschinen-Feature benötigt werden
    • Bewertung von Suchmaschinen-Funktionen für Kitodo.Production
      • Skalierbarkeit für viele, lange Texte:
        • In Kitodo.Production nicht notwendig
      • Skalierbare Relevanzberechnung:
        • In Kitodo.Production nicht notwendig
        • In Datenbanken nur rudimentär vorhanden
      • Autovervollständigung
        • In Kitodo.Production gegebenenfalls sinnvoll;
        • kann auch mit Datenbanksuche realisiert werden
      • Extraktion von relevanten Textstellen:
        • Eher Anwendung für OCR
        • In Kitodo.Production nicht notwendig
      • Gewichtung verschiedener Merkmale
        • In Kitodo.Production nicht notwendig
      • Unscharfe Suche
        • In Kitodo.Production gegebenenfalls sinnvoll
        • Zum Beispiel ein falscher/fehlender Buchstabe
      • Vektor-(KI)-Suche
        • In Kitodo.Production gegebenenfalls sinnvoll
    • Weitere spezifische Suchen
      • Exakte Suchen/Filter -> Datenbanksuche möglich
      • In Kitodo.Production entsprechen Kommentare am ehesten einem OCR-Text:
        • Derzeit nur exakte Suche in Kommentaren möglich
        • In MariaDB ist nur eine rudimentäre Volltextsuche möglich
    • Einschätzung Community Board:
      • Es wird überwiegend die Anwendung der exakten Suche benötigt
    • Aspekt der Reihenfolge der Filter-Kriterien
      • Die Einschränkungen (nur abgeschlossene Vorgänge) werden erst nach der Suche angewendet; daher ist die Suche nicht schneller, als nach allen Vorgängen
    • Entkoppeln Berechnung und Anzeige von Treffern
      • Wenn möglich, sollte in Kitodo.Production die Berechnung der Treffer von der Anzeige der Treffer entkoppelt werden
        • Berechnung der Anzahl der Treffer
        • Berechnung der Anzahl der Trefferseiten
        • -> Die Anzeige der ersten 100 Vorgänge wird sofort angezeigt
  • Spezifische Themen/Fragen
    • Aktualisierung der Trefferlisten
      • In Elasticsearch ist es möglich, einen Snapshot zu erstellen, so dass die Trefferlisten gleich bleiben, auch wenn andere Personen Vorgänge modifizieren
        • Das ist in Kitodo.Production nicht notwendig
    • Frage Christoph
      • Tokenisierung (Signaturen)
        • Low: In Datenbanken wird es vermutlich nicht funktionieren
        • Low: Alternative wäre doppelte Wildcard-Suche – vermutlich kein Unterschied der Performance von Datenbank und Elasticsearch
      • Derzeit keine explizite *-Suche (Trunkierung) möglich – wird automatisch angewendet
        • Ansonsten könnte man die *-Suche manuell durchführen, so dass jeder entscheiden kann, wie gesucht wird
      • Anwendungsfall Signatur
        • Leerzeichen soll nicht getrennt werden
  • Fazit
    • Die Anwendung der Datenbanksuche ist ein konsequenter Schritt; es wäre sinnvoll, die Datenbanksuche zumindest testweise zu implementieren
      • Weg 1 ist nicht zu empfehlen
        • Ohne Elasticsearch werden viele administrative Aufgaben entfallen
        • Es müssten ansonsten zum Beispiel Versions-Updates durchgeführt werden, obwohl Elasticsearch nicht angewendet wird
      • Weg 2:
        • Man müsste auch für diesen Weg weitere Anforderungen erheben
        • Vor Einführung der HibernateSearch war Elasticsearch nicht ideal eingebunden
      • Weg 3:
        • Nachteile
          • Mit Hibernate können nicht alle Datenbanken unterstützt werden
            • Lösungen müssten für einzelne Datenbanken programmiert und bei allen Tests berücksichtigt werden
          • Gegebenenfalls 2-3 Sekunden Wartezeit
    • Christoph: Auch auf Basis der Datenbank sind spätere Optimierungen nicht grundsätzlich ausgeschlossen:
      • Zum Beispiel: Vorgangsstatus (aktiv/inaktiv) und weitere Informationen könnten mit in der der Volltextspalte indexiert werden um die Geschwindigkeit der Abfragen zu erhöhen

Einschätzungen

  • Anja
    • Können Verbesserungspotentiale im Rahmen einer Masterarbeit ermittelt werden?
      • Kerstin: Eher darauf verzichten, weil weitere Anforderungen auch ausgewertet werden müssten – statt dessen eher eine Lösung implementieren und dann Lücken ermitteln
  • Christoph
    • Beide Lösungen wären möglich
    • Nur kleinere Anpassungen notwendig wie Signatursuche (doppelte Wildcard)
    • Es wäre besser, wenn die Wildcard explizit angewendet werden muss (Zum Beispiel mit *), um die Performance einschätzen zu können (bisher wird immer rechts trunkiert)
  • Gesamt
    • Das Community Board empfiehlt den Weg 3 für eine Test-Umsetzung
    • Mögliche Nachteile werden in Kauf genommen
    • Bisher ist in Kitodo.Production schon fast eine Datenbanksuche umgesetzt
    • Die weitere Untersuchung sollte in der Technikrunde besprochen und geprüft werden
      • Komplizierte Suchen
      • Suchen auf großen Datenmengen
    • Kerstin Wendt erstellt Terminumfrage für Techniker-Runde

TOP 2 Nächstes Treffen

Nächstes CB 2026-04-14 10:00-11:30:

  • Protokoll: Anja Piller
  • Moderation und Protokollentwurf: André Hohmann