Solr-Entwicklung Fallstudie: resolutionfinder.org

Erstellung einer Suchanwendung in 15 Personentagen

Wenn ein Gremium wie die Vereinten Nationen eine Resolution verabschiedet, ist es für den Erfolg entscheidend, dass die Bürger in den betroffenen Regionen und die relevanten Nichtregierungsorganisationen den tatsächlichen Inhalt der Resolution kennen. Selbst für die Länder, die an der Entscheidung beteiligt waren, kann es eine Herausforderung sein, alle betroffenen Regierungsstellen über die Entscheidungen und deren Entwicklung auf dem Laufenden zu halten.

Die resolutionfinder.org soll den Zugang zu UN-Resolutionen erleichtern, so dass jeder, der sich für eine bestimmte Resolution interessiert, deren Text leicht finden kann. Das Ziel des Projekts ist es, den Bürgern überall auf der Welt die Suche nach dem Text dieser Resolutionen zu erleichtern und die Ergebnisse zu nutzen, um die Umsetzung der Resolutionen zu unterstützen.

Innerhalb von nur 15 Manntagen hat ein Team von drei Entwicklern ein einfach zu navigierendes Frontend erstellt, das die gesamte Bandbreite der Daten umfasst, die von einem freiwilligen Team von Studenten und jungen Berufstätigen aus ganz Europa im Laufe von zwei Jahren gesammelt wurden. Der ursprüngliche Datensatz umfasst etwa 1.000 Dokumente und über 3.000 Klauseln in vier Themenbereichen: Kleinwaffen und leichte Waffen, Frauen und Bildung, sauberes Trinkwasser und Malaria.

Die Daten wurden manuell aus verschiedenen Online-Dokumentenspeichern gesammelt, die von verschiedenen UN-Organisationen zur Verfügung gestellt wurden. Die daraus resultierenden Daten und die entwickelte Solr-gesteuerte Suchoberfläche waren eines der Highlights auf der Konferenz „UN-connecting the World“, die Ende Mai 2010 in Genf stattfand. Dort wurde die Anwendung als brauchbares Konzept und technologisches Vorzeigeprojekt vorgestellt, das die Grundlage für zukünftige Entwicklungen bilden wird.

Die schnelle Entwicklung der Anwendung war nur dank der leistungsstarken Out-of-the-Box-Funktionen von Lucene und Solr sowie der Existenz von Integrations-Plugins für das beliebte PHP-basierte Symfony-Framework möglich.

Kundenübersicht

Die Idee hinter resolutionfinder.org war es, ein Instrument zu schaffen, das den Zugang zu UN-Übereinkommen erleichtert, um den Prozess der Umsetzung zu verbessern. Im Gegensatz zu anderen Datenbanken, die derzeit verfügbar sind, stellt resolutionfinder.org nicht nur Dokumente zusammen, sondern extrahiert auch Klauseln, die für die Umsetzung relevant sind, und stellt die Entwicklung von Dokumenten und Klauseln dar. In seiner ersten Version enthält das Repository eine beträchtliche Menge an Informationen zu vier Themenbereichen: Sauberes Trinkwasser, Malaria, Kleinwaffen und leichte Waffen sowie Frauen und Bildung.

Die Entwicklung von resolutionfinder.org wurde in den vergangenen zwei Jahren von der World Federation of United Nations Associations (WFUNA) und insbesondere von der Deutschen Gesellschaft für die Vereinten Nationen (DGVN) unterstützt. Das Projekt befindet sich derzeit in Verhandlungen über eine Partnerschaft mit dem International Security Network (ISN). Die Suche ist derzeit auf 4 Themenbereiche beschränkt, was bedeutet, dass es möglicherweise nicht für alle jemals herausgegebenen UN-Dokumente Inhalte für Suchbegriffe gibt. Es gibt jedoch einige gute Beispiele für eine bereits funktionierende Suche

Eine Suche nach „Malaria“-Dokumenten, die mit „lokalen Strategien“ getaggt wurden, die für eine NRO, die lokale Strategien unterstützen möchte, relevant sein könnten:
http://resolutionfinder.org/search?q=malaria&t%5B27%5D=local+strategies&…

fortgeschrittenere Suchbegriffe, z.B. für Resolutionen des UN-Sicherheitsrats, die regionale Themen außerhalb Afrikas betreffen:
http://resolutionfinder.org/?q=%22security+council%22+-africa++region

Wichtige Suchfunktionen von Solr in der Entwicklung genutzt

  • Volltextsuche mit Stemming, um die Sucheingabe flexibler handhaben zu können
  • Facettierung, um dem Benutzer ein besseres Verständnis dafür zu geben, welche Art von Daten mit der ursprünglichen Volltextsuche übereinstimmt, und um zusätzliche Filterung zu ermöglichen
  • Hervorhebung zur besseren Veranschaulichung, warum Dokumente in den Endergebnissen enthalten sind
  • Enge Integration mit dem PHP-Symfony-Framework durch das sfSolrPlugin und den Doctrine ORM zur Unterstützung bei der Erstellung von Solr-Konfigurationsdateien und dem automatischen Datenimport in Solr
  • Durch die Open-Source-Natur des gesamten Anwendungsstacks fielen keine Lizenzkosten für die gesamte Anwendung an

Herausforderungen

Da resolutionfinder.org ausschließlich von Freiwilligen getragen wird, die derzeit über kein IT-Budget verfügen, und sich größtenteils aus Experten auf dem Gebiet der UN-Forschung und nicht der Anwendungsentwicklung zusammensetzt, waren die verfügbaren Entwicklungsressourcen gering. Es wurde klar, dass selbst mit Entwicklungszeit und Hosting, das von der Schweizer Liip AG gesponsert wurde, effektiv nur 15 Manntage für die Entwicklung des Frontends zur Verfügung stehen würden. Zumal parallel dazu noch an der Migration der Excel-Tabellen mit den Forschungsergebnissen der letzten 2 Jahre in die relationale Datenbank gearbeitet wurde.

Das Ziel war es, eine Volltextsuche mit facettenbasierter Filterung, die Anzeige von Dokumenten und den darin enthaltenen Klauseln sowie deren historische Entwicklung zu ermöglichen. Die Benutzer sollten sich auch registrieren können, um Lesezeichen und Kommentare zu Klauseln und Dokumenten zu setzen.

Lösungen

Das Team verfügte bereits über ein bestehendes Datenbankschema und ein auf Symfony basierendes Verwaltungstool, das den Import von Excel-Tabellen übernehmen sollte. Dank der Verwendung des Doctrine ORM und des sfSolrPlugin wurde das Laden der Daten in Solr durch eine kleine Konfigurationsdatei, die die Eigenschaften und Methoden des Datenmodells den Feldern in Solr zuordnete, vollständig automatisiert. Das Ergebnis war, dass nach dem Import einer Excel-Tabelle diese automatisch in Solr für die Suche verfügbar war, ohne dass zusätzlicher Code erforderlich war. Dieselbe Konfigurationsdatei generierte auch die Hauptkonfigurationsdateien von Solr.
Schließlich bündelte sfSolrPlugin eine voll funktionsfähige Solr-Installation mit Jetty als Servlet-Container einschließlich administrativer Skripte für Solr. Innerhalb von nur einem Tag wurde ein Testdatensatz in Solr importiert und die ersten Tests zur Textsuche wurden durchgeführt, was das gesamte Team davon überzeugte, dass das Ziel tatsächlich möglich war. Dies bedeutete auch, dass keine Zeit für die Installation und Konfiguration von Solr auf den einzelnen Rechnern der Entwickler verschwendet wurde.

Innerhalb weniger Tage wurde ein komplettes facettenbasiertes Filtersystem integriert, mit dem die Benutzer die Ergebnismenge per Mausklick entlang mehrerer Dimensionen reduzieren können, ohne dass sie die Seite manuell neu laden müssen. Über die nativen Hervorhebungsfunktionen erhält der Benutzer visuelle Hinweise darauf, warum das jeweilige Dokument relevant ist. Außerdem sind die Ergebnisse farblich kodiert, um den Benutzern eine bessere Vorstellung vom relativen rechtlichen Wert des Dokuments zu geben. Um eine Ergebnismenge aufzuschlüsseln, werden den Benutzern facettenbasierte Filter über acht Dimensionen angeboten. Die Facetten-Dimensionen helfen dem Benutzer auch dabei, eine Vorstellung davon zu bekommen, wie die Daten verteilt sind, da jede der Filteroptionen auch die Anzahl der Dokumente anzeigt, die der gegebenen Dimension für die gegebenen Suchkriterien entsprechen.
Die gesamte Quellcodebasis ist unter der BSD Open Source Lizenz verfügbar. Es ist sogar geplant, die gesamten Daten zur Verfügung zu stellen, um anderen die Möglichkeit zu geben, ihre eigenen Innovationen zu entwickeln.

„Das gesamte Team war überrascht, wie viel in einem so kurzen Zeitrahmen möglich war. Es blieb sogar noch Zeit für zusätzlichen Feinschliff, wo wir erwartet hatten, dass wir uns mit einer Anwendung begnügen müssten, die nur eine rohe technische Demo wäre, die von der Vorstellungskraft der Benutzer abhängt, anstatt eine konkrete Version zu zeigen, die bereits für Endbenutzer nutzbar ist“, sagt Lukas Smith vom resolutionfinder.org-Team.

Zukünftige Entwicklung

In den nächsten Monaten geht es vor allem darum, die Qualität der Datenbank zu verbessern und sie langfristig so weit auszubauen, dass sie alle Themenbereiche der UN-Agenda abdeckt. In diesem Zusammenhang wird nach IT-Lösungen geforscht, um die Datenbank auf effizientere Weise universell einsetzbar zu machen. Insbesondere Data-Mining-Tools, die das Parsing von PDF- und HTML-basierten UN-Dokumenten in der Datenbank automatisieren, sollten es ermöglichen, den Datensatz schnell um Größenordnungen zu erweitern. Sobald die Data-Mining-Tools zur Verfügung stehen, wird die Lokalisierung der Schnittstelle sowie die Abdeckung von Dokumenten und Klauseln in allen sechs offiziellen UN-Sprachen ebenfalls ein Schwerpunkt der Entwicklung sein. Weitere Arbeiten sind auch geplant, um verschiedene Arten von Suchen zu ermöglichen, die sich mehr auf chronologische Aspekte oder bestimmte UN-Organisationen oder Mitgliedsstaaten konzentrieren.

Software

  • Dedizierter virtueller Host
  • Linux Debian
  • MySQL RDBMS
  • PHP-Frontend

You Might Also Like

KI-Agenten dominieren den Einkauf. Ist Ihre Website auf die KI-gestützte Suche vorbereitet?

Generative KI-Agenten wie ChatGPT definieren die Produktsuche neu. Erfahren Sie, wie Sie...

Read More

Vom Suchunternehmen zum praktischen KI-Pionier: Unsere Vision für 2025 und darüber hinaus

CEO Mike Sinoway gibt Einblicke in die Zukunft der KI und stellt...

Read More

Wenn KI schief geht: Fehlschläge in der realen Welt und wie man sie vermeidet

Lassen Sie nicht zu, dass Ihr KI-Chatbot einen 50.000 Dollar teuren Tahoe...

Read More

Quick Links