SpringerMedizin Suchoptimierung Nemo-Projekt Burak Cetinkaya - Fabian Engels - Franziska Kowalke - Lukas Tibursky 07.07.2014 1
Agenda Aufgabe/Probleme Vorgehen Demo Methodik Ergebnisse Weiterführung Lessons Learned 2
Aufgabe/Problem 3
Vorgehen 4 Einarbeitung Solr konfigurieren Datenimport Suche Goldstandard Apache Solr Spring MVC Junit /Mockito VirtualBox Springer Core Author Core Anpassung der Konfigurationsdateien Indexierung von Beispieldokumenten MESH anbinden Suchseite InstantSearch Highlighting Suggestion Kombination der Cores Synonyme Example Queries von Biomedcentral Suchergebnisse Messen mittels Mean Reciprocal Rank Visuelle Darstellung des Goldstandards laden Goldstandard 4
DEMO 5
Methodik Indizierung * Indizierung per Implementierung des DataImportHandlers in der solr-Konfiguration - XML-Dateien von Springer mittels Xpath-Ausdrücken indiziert. - Indizierung der Dokumente mittels gezieltem absenden von Such-Queries evaluiert - 2788 XML-Dateien Indiziert * Während der Indizierung copyFields für Suggester aufbauen - Suggester in solrconfig.xml implementieren der für diese Felder Vorschläge zurückgibt Struktur der Indizierung: * Highlighting in Standart-Solr-Konfiguration vorhanden - Probleme mit Implementierung der hintereinander geschalteten Cores AuthorGroup GivenName FamilyName AuthorName Author Core Article Title Article SubTitle Token + Synonym Springer Core ... 6
Methodik Synonyme Query Analyser Synonyme Index Analyser Query 7 Cancer of Breast, Breast Cancer Breasts Tumor Breast Cancer of Query Analyser Synonyme Index Analyser Query Cancer of Breast 7
Methodik Datenstruktur/Gold SearchQuery “cancer” SearchResultsMap Map(docid,pos) SearchResults Map(SearchQuery,SearchResults) SearchQueryExecution (SearchResults,SearchResults) Calculate Mean Reciprocal Rank Gold Result Search Result Metric Table 8
Ergebnis Goldstandart - Testframework auf Basis von Spring MVC Das Testframework gibt ein arithmetische Mittel (MRR) aus, um das Ranking-Ergebnis einer Query über eine Anzahl an möglichen Ergebnissen zu evaluieren. Erweiterungen und Änderungen an Solr können direkt bewertet werden. Indizierung der A++ Struktur Eine mögliche Lösung für die Indizierung der bisherigen XML-Dokumente in einen Solr-Index ist von uns bereitgestellt. SolrSuggester, InstantSearch, Autocomplete Die Nutzung des Suggester von Solr selbst, eine eigene Implementierung des InstantSearches mittels jQuery, sowie eine eigene Implementierung einer Autocomplete-Lösung mittels jQuery ist von uns realisiert worden 9
Ergebnis Virtualbox Bereitgestellte Dokumente 10 * Virtualbox - Image - funktionsfähige Umgebung - Beispiel für Einrichtung unserer Lösung (Readme - Datei angehangen) - Auslieferung als .rar oder auch auf DVD möglich Bereitgestellte Dokumente how to setup virtualbox containing our solution https://bitbucket.org/beuthspringerteam/springer-solr/wiki/How%20to%20use%20the%20virtual%20box%20%28on%20ubuntu%29 how to setup project locally without virtualbox https://bitbucket.org/beuthspringerteam/springer-solr/wiki/How%20to%20Setup%20the%20project Info-document containing team-infos, goals, plannings https://docs.google.com/document/d/1CARvHSsHC3KKxHg2Ox8WaYLaMNNoiAbd_5eksuZ_k-0/edit?usp=sharing 10
Weiterführung Highlighting für Synonyme implementieren Goldstandard vervollständigen durch gezieltere Datenanalyse Erweitern der SolrInstanz um weitere Funktionen(Testen mit dem Testframework) Authoren-Namen-Importfilter weiter optimieren Synoymen Multi Wildcards Trefferlisten sollten die Ergebnisse durchsuchbar machen damit Artikel Informationen verglichen werden können. 11
Lessons Learned Apache Solr und Spring-Applikation in getrennten Repositories versionieren Eine einheitliche Server-Instanz in einer VM für das Team bereitstellen, die sowohl Solr als auch Tomcat umfasst aber nicht die Entwicklungsumgebung. wissenschaftliche Anfangsanalyse der Eingangsdaten und Problematik durchführen 12