Seit Ende März glänzt Solr wieder in einem neuen Versionsgewand – das Release 6.5 hat einige interessante Zusatzfeatures zu bieten. Dazu gehört die Einführung von PointFields, Verbesserungen des Highlightings und auch der Bereich Streaming Expressions wurde um einige Funktionalitäten wie significantTerms und arithmetische Operationen erweitert. Besonders hervorzuheben ist aber die langersehnte Möglichkeit, Multi-Term-Synonyme zu definieren.
Synonyme, wie wir sie kennen
Synonyme bilden eine wichtige Suchfunktionalität, um die Suche bestimmter Terme auf andere Begriffe auszudehnen oder mit ihnen zu ersetzen. Dabei dient ein einzelnes Wort als Ausgangsterm und wird zusammen mit einer Reihe von Ersetzungen in der Synonymliste hinterlegt.
Die Definition des Synonyms
Eiersuche => Ostern
führt beispielsweise dazu, dass bei der Eingabe von „Eiersuche“ Dokumente gefunden werden, für die der Term „Ostern“ abgespeichert ist. Eine Suche nach „Suche nach Eiern“, was im üblichen Sprachgebrauch durchaus als Synonym zu „Eiersuche“ verstanden werden könnte, konnte allerdings bislang nicht in die Synonymliste aufgenommen werden, da es aus mehreren einzelnen Wörtern zusammengesetzt ist. Die Vorverarbeitung des Query Parsers zerlegt die Eingabe in ihre Bestandteile und gleicht erst daraufhin die Terme mit den Einträgen in der Synonymliste ab.
Multi-Term-Synonyme
Solr 6.5 führt nun einen Suchparameter „sow“ (split on whitespace) ein, mit dem entschieden werden kann, ob die Sucheingabe wie gewohnt vor dem Abgleich mit der Synonymliste am Leerzeichen in ihre Bestandteile zerlegt wird (sow=true) oder alle Terme als ein Begriff an die Liste übergeben werden (sow=false).
Damit ist es nun möglich, das obige Synonym für die Verarbeitung zur Suchzeit wie folgt zu erweitern:
Eiersuche, Suche nach Eiern => Ostern
Selbstverständlich ist es weiterhin möglich, mehrteilige Begriffe als Ersetzungen zu verwenden, wie beispielsweise
Eiersuche, Suche nach Eiern => Ostern, Spiel zu Ostern
Mit dieser Definition und durch Verwendung von sow=false findet Solr nun alle Dokumente, für die „Ostern“ oder „Spiel zu Ostern“ als Werte hinterlegt sind, auch wenn die Eingabe „Eiersuche“ oder „Suche nach Eiern“ lautet. Damit steht der digitalen Eiersuche nichts mehr im Wege und nur die echten Eier müssen Sie noch selbst finden.
Frohe Ostern!