Suche verstehen
Wir helfen Ihnen dabei, die Such­anfragen Ihrer Kund*innen und Mit­ar­bei­­ter*innen zu ver­stehen und schnell re­le­vante Ergebnisse zu liefern.

Suche und Sprache

In diesem Artikel betrachten wir verschiedene Analyzer von Apache Solr genauer und erklären die Unterschiede, Einsatzmöglichkeiten und wie man eigene Analyzer entwickeln und verwenden kann. Was ist ein Analyzer in Apache Solr? Analyzer werden verwendet, um textuelle Daten in Solr zu analysieren und sie für die Suche vorzubereiten. Typischerweise möchte man einen Text in einzelne […]

Solr kennt mit Block-Joins neben Joins eine zweite Variante, wie bei Abfragen Beziehungen zwischen Dokumenten berücksichtigt werden können. Im Gegensatz zu den im Artikel Join Query mit Apache Solr vorgestellten Variante sind Block-Joins wesentlich performanter. Ihr Nachteil ist, dass die Beziehung (Parent-Child oder 1:n) zwischen den Dokumenten bereits zur Indexierungszeit festgelegt und damit bekannt sein […]

In diesem Artikel möchten wir die Cursor API von Apache Solr vorstellen und ihre Anwendungsszenarien und Vorteile genauer betrachten. Wozu ist die Cursor API überhaupt notwendig? In vielen Applikationen, die eine Suche enthalten, werden die relevantesten Ergebnisse zuerst angezeigt. Typischerweise erfolgt dies in Form von einzelnen Seiten, die jeweils eine bestimmte Anzahl an Treffern enthalten. […]

In diesem Artikel wollen wir uns ansehen, wie das Aktualisieren einzelner Felder von Dokumenten in Solr funktioniert. Bis Version 4 war es nicht möglich nur bestimmte Felder eines Dokuments zu aktualisieren, es musste immer das gesamte Dokumente an den Server geschickt werden. Es gibt zwei Möglichkeiten Dokumente zu aktualisieren, welche sich nur in bestimmten Feldern […]

Apache Solr verwendet SearchComponents, um verschiedene Aspekte der Suche abzubilden und modular zusammenstellen zu können. So gibt es eigenständige SearchComponents für die eigentliche Suche, das Highlighting, die Facettierung uvm. Dieser Ansatz ermöglicht es ebenfalls, eigene SearchComponents zu entwickeln und diese in einer Solr-Installation zu betreiben. Die folgenden Code-Beispiele basieren auf Solr 5.2.1, allerdings hat sich […]

In diesem Artikel geben wir einen Überblick über die Möglichkeiten der Facettierung in Solr 5.2. Was ist Facettierung Die Facettierung unterteilt die Suchergebnisse in mehrere Kategorien und zählt, wie viele Dokumente in den einzelnen Kategorien enthalten sind. Diese Kategorien werden typischerweise direkt aus den Eigenschaften der Dokumente ermittelt, so dass die Facettierung einen schnellen Überblick […]

In diesem Artikel erklären wir die Join-Query, die mit Version 4 von Solr eingeführt wurde. Eine Join-Query wird, genau wie in SQL, dazu verwendet, einzelne Datensätze in Beziehung zu setzen und somit Denormalisierung zu verhindern und komplexere Abfragen in nur einem Schritt ausführen zu können, ohne alle Zwischenergebnis abfragen zu müssen. Trotz der großen Gemeinsamkeiten […]

Die Komposition, d.h. die Zusammensetzung von mehreren Worten zu einem einzelnen Wort, ist im Deutschen eine der wichtigsten Arten der Wortbildung. Komposita werden verwendet, um komplexere Sachverhalte in einem einzigen Wort auszudrücken und tragen so wesentlich zur Effizienz der Sprache bei. Die Kompositazerlegung ist deshalb ein wichtiger Bestand der Verarbeitung von natürlichsprachlichen Texten. Kompositazerlegung zur […]

Beim Verarbeiten von natürlichsprachlichen Texten steht man immer wieder vor der Herausforderung, die unterschiedlichen Formen eines Wortes als zusammengehörig erkennen, um diese einheitlich zu behandeln. Ein einfacher und kostengünstiger Ansatz ist Stemming, bei dem Worte auf ihren jeweiligen Wortstamm reduziert werden. Wenn dieser Ansatz nicht ausreicht, kann die deutlich mächtigere Lemmatisierung eingesetzt werden. Lemmatisierung ist […]

In diesem Artikel wollen wir einen kurzen Überblick geben was bei einer Migration von Solr 4 nach Solr 5 alles zu beachten ist. Migration von Solr 4 nach Solr 5 Nachdem der Download von Solr 5.1 (http://lucene.apache.org/solr/) abgeschlossen und entpackt ist, fällt als erstes auf, dass das „example“ im Vergleich zu einer Solr MultiCore Installation […]

Die deutsche Sprache zeichnet sich durch ein reiches System von Wortformen aus. Die Flexion, d.h. die Beugung, von Worten findet sich in praktisch jedem Satz und muss deshalb auch bei der Verarbeitung von natürlichsprachlichen Texten berücksichtig werden. Stemming bietet sich als ein einfacher und meist kostenloser Ansatz, diese Wortformen gezielt zu behandeln. Wenn dieser Ansatz […]

Geosuche

Im Artikel “Solr Geospatial – 3 Schritte zur flexiblen Geosuche” haben wir einen technischen Ansatz beschrieben, der die Basis für unterschiedliche geographische Selektionen liefert. Darauf aufbauend soll dieses Fallbeispiel die detaillierten Möglichkeiten und Operationen der Geosuche mit Apache Solr aufzeigen. Ausgangslage Als Datenbasis verwenden wir für Touristen interessante Orte im Raum Wien. Diese sollen auf […]

Dieser Artikel behandelt Funktionen für Auswertungen entlang einer geographischen Route. Unter dem Begriff “Korridorsuche” in Apache Solr fassen wir Abfragen zusammen, die nach Übergabe der Route als Polyline folgende Eigenschaften einschränken und/oder sortieren können: Distanz und Position. Das Indoqa Spatial Corridor Plugin stellt diese Kennzahlen als Solr Funktionen zur Verfügung. Diese können als Filter oder […]

Unter dem Begriff Geospatial Search (oft auch nur Geo Search oder Spatial Search) werden jene Funktionen zusammengefasst,  die eine geographische Suche auf Basis von geometrischen Operationen in einem Solr Index ermöglichen. Solr bietet dazu unterschiedliche Datentypen und Funktionen an. In diesem Artikel wollen wir eine generische und in der Praxis erprobte Lösung beschreiben, bei der […]

Verfügen Daten in einem Solr Index über punktuelle geographische Informationen (zb. Längen- und Breitengrad), ist man oft mit der Aufgabenstellung konfrontiert, diese im Web oder am Mobilgerät als Pins auf einer Karte darzustellen und damit deren geographische Verteilung zu visualisieren.  Je nach Kartenausschnitt (Größe und Zoomstufe) ist die Anzahl an Pins, die gleichzeitig und trotzdem […]

React JS

Webpack als Build-System ermöglicht es, React-Komponenten als eigenständige Module zu publizieren. Damit können React-Komponenten in mehreren Projekten wiederverwendet werden. Das Ziel ist, dass die zur Verfügung gestellten Komponenten aus ES5-Code und plain CSS bestehen, damit sie einfach über import oder require Anweisungen verwendbar werden. So ist die Integration in andere Projekte mit wenig Integrationsaufwand möglich. […]

In diesem Artikel geben wir einen Überblick über das Linting von React-Applikationen. Was ist Linting? Unter Linting versteht man die statische Analyse von Quelltext, dieser wird unter anderem auf syntaktische oder logische Programmierfehler, eine einheitliche Formatierung oder auf die Umsetzung von Best Practices hin überprüft. Um Applikationen, die mittels React umgesetzt werden, einer solchen Überprüfung […]