Apache Solr - Entwicklung von Szenarien zu typischen Suchanfragen und praktische Untersuchung der Szenarien am Beispiel des Apache Lucene - Solr Frameworks

Universität Ulm

BA Abschlussvortrag, Tim Mohring, Ort: O27/5202, Datum: 25.03.2015, Zeit: 17:00 Uhr

In dieser Arbeit werden einige Szenarien der Volltextsuche, wie sie im realen Betrieb in Unternehmen zum Einsatz kommen, anhand von Solr, untersucht. Dabei wird betrachtet, inwieweit diese sich realisieren lassen und welche Konfigurationen nötig sind, um sie zu realisieren. Suchsysteme sind für jede moderne IT-Infrastruktur wichtig. Dazu ist ein leistungsfähiges Programm zur Volltextsuche nötig. Solr ist ein Open Source Server für diesen Zweck. Er wurde von Apache als ein Unterprojekt von Apache Lucene entwickelt und ist komplett in Java geschrieben. Als Grundlage dient ein anderes Projekt aus Lucene, Lucene Core. Dies ist eine Bibliothek für die Volltextindizierung und bietet einige Funktionen für die Indizierung und Suche an. Solr baut darauf auf, bietet jedoch zusätzlich weitere Funktionen, wie zum Beispiel ein grafisches Administrationsinterface, APIs für verschiedenen Programmiersprachen und eine Facettensuche. In dieser Arbeit werden außerdem auch andere Open Source Server für die Volltextsuche betrachtet. Weiter wird die Architektur von Solr, also die Funktionen und Realisierungen der einzelnen Komponenten, sowie das Zusammenspiel dieser, betrachtet. Außerdem wird die Einbindung in externe Programme, also die API, betrachtet. Solr bietet eine REST-API über JSON und XML. Dabei werden drei verschiedene Arten von APIs unterschieden. Die Schema API, die zur Ausgabe der aktuellen Konfiguration von Solr verwendet wird. Die CoreAdmin API, die verwendet wird, wenn Solr in der Cloud betrieben wird. Die "Standard"-API, die für die Suche und Indizierung verwendet wird. Für die Suche und Indizierung stehen außerdem verschiedene Client APIs zur Verfügung.