22. Mai 2012
Alles Neu macht die Suche
Derzeit stehen wir vor einem großen Projekt in der Logistikbranche mit über 2 Millionen Inhalten pro Jahr. Unsere aktuelle Suche war zwar „ganz nett“, entsprach für mich aber in keiner Weise diesen Erwartungen. Vor allem in Anbetracht, dass diese Dokumente für eine Suche im Archiv über 10 Jahre zu finden sein müssen. Das entspricht also einem Suchvolumen von 20 Millionen Inhalten, welche von bis zu 100 Benutzern innerhalb Sekunden gefunden werden müssen.
Nach unserem großen Milestone-Release 4 mit dem Scanning, Workflow, etc wollten wir eigentlich mit dem E-Mail Paket (Milestone 5) starten. Durch das Projekt habe ich beschlossen, der Entwicklung das neue Suchpaket zu geben. Ziel ist es, einen neue, ebenfalls skalierbare Suche, zu integrieren.
Neue Volltext-Suchengine für amagno
Wir haben uns viele Volltextsuchsysteme angesehen und erwägten durch unsere Besonderheiten auch die Entwicklung einer überarbeiteten eigenen Suche. Letztendlich haben wir uns dann für die Integration der skalierbaren Lucene.NET Engine entschieden. Die Leistungsdaten waren für uns überwältigend. Wir fütterten den Prototypen mit 1 Mio Dateien und damit verbundenen umfangreichen Volltextinhalten war das Ergebnis in Sekundenbruchteilen verfügbar. Sehr eindrucksvoll.
Die Frage: Suche und Magnete erweitern?
Im Rahmen des Umbaus für die neuen Suchengine mussten wir uns nun auch überlegen, wie wir mit der bisherigen Suche und den Magneten umgehen.
(Bild: Bisherige Suche in amagno 2.5). Die Suche in der aktuellen Version ist sehr klassisch und ähnelt einer Google-Suche. Begriff eingeben und finden. Allerdings bietet die Suche verschiedene Funktionen nicht, beispielsweise Ähnlichkeiten oder „In der Nähe von“-Suchen. Gerade letztere Suchform ist für die Suche in Dokumenten elementar. So ist es ideal, eine Vertragsnummer in der Nähe des Begriffs „Vertragsnummer“ zu finden. Dies erhöht deutlich die Trefferwahrscheinlichkeit. Ebenso sollte die Formulierung umfangreicherer Suchparameter einfach möglich sein, z.B. mit „Oder“ oder „Und“ Konstellationen. Gleiches gilt ebenso für die Definition der Magnete.
(Bild: Magnetdefinition in amagno Version 2.5). Die Magnete erlauben zwar schon die Abbildung vieler Regeln, aber viele Möglichkeiten fehlten noch.
In der Meilensteinplanung von amagno waren zwei wesentliche Entwicklungsblöcke für ein späteres Release vorgesehen:
- Speicherbare und umfassende Suchabfragen
- Expertenmodus für Magnete
Nach einiger Beratung habe ich beschlossen, diese Pakete zusammen mit der Suche zu integrieren, denn die Erwartungen an die Suche und vor allem an die Magnete steigen mit der rapide ebenfalls steigenden Anzahl der amagno Benutzer erheblich.
Dazu wollten wir die Suche auch auf Gruppen, Benutzer und Magnete ausweiten.
Die Herausforderung – der neue Designer für Magnet- und Suchformulierungen
Obwohl ich als Geschäftsführer einen hohen Prozentsatz meiner Zeit in Unternehmensführung, Marketing, Vertrieb, etc verbringe, liegt mir das Design von Funktionen sehr am Herzen. Design und Funktion sind wesentliche Erfolgsfaktoren – besonders in der Akzeptanz bei den Benutzern. Ich wollte die Herausforderung annehmen, ein Oberflächenelement zu schaffen, welches für die Suche und die Magnete gleichermaßen zur Formulierung von Abfragen geeignet ist.
Ebenso muss das Element (das Control) für Einsteiger einfach beginnen, aber trotzdem das rasche Formulieren komplexer Abfragen für Experten ermöglichen. Nach einem Wochenende intensiver Planungen präsentierte ich das neue Control. Zuerst entwickelte das Team einen Prototypen, da die Bedienung zuersteinmal getestet werden sollte. Danach erfolgte der Umbau in das amagno für die Suche und die Magnete. Das Control wurde zentral entwickelt und zwei Teams kümmerten sich jeweils um die Suche und das andere um die Magnete.
Der Aufbau des neuen Formulierungsassistenten
(Alle folgenden Darstellungen sind Beta und für eine Veröffentlichung untersagt).
Jede Suche oder Regel einem Magneten besteht aus einer Formulierungszeile (E). Sind mehrere Zeilen definiert, erscheint automatisch die Suchbedingung (A).
Eine Zeile besteht aus dem Auswahl eines Suchbereichs (B). Wie früher, bietet amagno die Suche in allen Feldern/Meta-Infos. Startet die Suche übergreifend, bietet amagno nun aber auch die Suche nach Magneten, Benutzern und Gruppen an.
Über die Suchart (C) wird bestimmt, in welcher Konstellation mehrere Suchbegriffe im Eingabefeld für die Suchbegriffe (D) gefunden werden sollen. amagno bietet künftig folgende Optionen dort an:
- Enthält alle
- Enthält alle nah beieinander
- Enthält einige
- Beginnt mit
In das Feld der Suchbegriffe (D) lassen sich einige oder mehrere Suchbegriffe eingeben. Im Gegensatz zur bisherigen amagno Version muss grundsätzlich der komplette Suchbegriff angegeben werden. Aber amagno bietet jetzt deutlich mehr Funktionen bei den Suchbegriffen. Beispiele:
- Verwendung von „*“ am Ende oder in einem Suchbegriff, um alternative Begriffe zu finden, z.B. „Vertrag*“. Ein „*“ am Anfang wird nicht unterstützt.
- Verwendung von „?“ in einem Suchbegriff, um einen oder mehrere bestimmte Buchstaben beliebig zu halten
- Anführungszeichen verwenden Sie, um zusammenhängende Begriffe zu finden, beispielsweise „Angela Merkel“ um explizit diese Kombination zu finden
Wählen Sie „Enthält alle nah beieinander“ aus, müssen mindestens zwei Begriffe eingegeben werden, die in einer Nähe zueinander gefunden werden sollen. Beispielsweise: „Angela Merkel“ Kanzlerin
Befindet sich der Fokus auf einer Zeile (wird hervorgehoben angezeigt), erscheinen unterhalb der Zeile drei wichtige Buttons zur Steuerung der Formulierung.
Mit dem Button für eine neue Zeile (F) wird auf der gleichen Ebene eine weitere Zeile eingefügt. Über den Button zum Löschen (H) wird die Zeile gelöscht.
Mit dem Button für eine neue Ebene/Einrückung (G) wird amagno mit der aktuellen Zeile einen neuen Block inklusive einer neuen Zeile erzeugen. Es erscheint automatisch vor den Zeilen eine farbig hervorgehobene Spalte mit der Einstellung einer Suchbedingung (A).
Die Suchbedingung (A) definiert, wie die verschiedenen Zeilen miteinander verwendet werden. Für die Suchbedingungen unterscheiden wir künftig:
- Alle (Grün) – Alle Zeilen dieses Blocks müssen zutreffen
- Einige (Orange) – Nur eine von vielen Zeilen dieses Blocks müssen zutreffen
- Keine (Rot) – Keine der Zeilen dieses Blocks dürfen zutreffen
Durch das Anklicken des Symbols ändern Sie die Suchbedingung. Durch das einfache Anklicken in den farbigen Bereich erscheint, wie bei der einfachen Zeile, eine Button-Reihe, mit welcher sich Blöcke weiter strukturieren oder löschen lassen.
Das neue Control ermöglicht uns die Definition einfacher Suchen / Regeln bishin zu sehr komplexen Konstellationen. Wir gehen davon aus, dass letztere aber eher von erfahrenen Benutzer erstellt werden. Bereits nach kurzer Eingewöhnung lassen sich schnell umfangreiche und Zielgenaue Suchen definieren.
Speicherbare Suchabfrage und Suche direkt in Magnete umwandeln
Natürlich wäre es schade, komplexe Suchabfragen wieder zu verwerfen. Und wenn diese schon ein passendes Ergebnis bringen – warum dann nicht gleich als dauerhaften Magnet verwenden? Das dachten wir uns auch.
Also haben wir die Möglichkeiten aus der Suche gleich mit erweitert. Sobald Sie eine Suche in einer Gruppe erstellen, bietet amagno in der Toolbox das dauerhafte Speichern der Abfrage an – oder das Umwandeln der Abfrage direkt in einen Magneten.
Ein besonderer Clou: Die Suchabfrage dürfen Administratoren der kompletten Gruppe zur Verfügung stellen.
Ich bin sehr stolz auf mein Entwicklungsteam, in wenigen Wochen ein so eindrucksvolles Paket umgesetzt zu haben. Und unser großes Projekt wird vom Start weg keinerlei Probleme haben – so wie ich es mir für alle Kunden wünsche (JB)