Funktionen von Apache Solr

Apache Solr bietet leistungsstarke Funktionen für die Suche in Websites, Shops und digitalen Anwendungen. Von der Volltextsuche über facettierte Filter und intelligentes Ranking bis hin zur semantischen Suche und Vektorsuche ermöglicht die Open-Source-Technologie präzise und skalierbare Suchlösungen. Mit Hosted Solr nutzen Unternehmen Apache Solr als gehostete Suchlösung, ohne die zugrunde liegende Infrastruktur selbst betreiben und verwalten zu müssen. Entdecken Sie die wichtigsten Apache Solr Funktionen und erfahren Sie, wie diese Ihre Suchanwendungen unterstützen können.

Zentrale Funktionsbereiche von Apache Solr


Grundlegende Suchfunktionen

Die Basis für präzise und flexible Suchergebnisse – von einfachen Anfragen bis zu komplexen Abfragen.

Bereichssuche

Ermöglicht Suchen innerhalb definierter Wertebereiche, z. B.:

  • Preise: price:[100 TO 500] → Produkte zwischen 100 und 500 €.
  • Daten: date:[2023-01-01 TO 2023-12-31] → Dokumente aus 2023.
  • Nummern: id:[1000 TO 2000] → IDs in einem bestimmten Intervall.
    → Anwendung: Filter in Shops, Zeiträume in Archiven.

Boolesche Suche (AND / OR / NOT)

Nutzt logische Operatoren, um Suchanfragen zu verfeinern:

  • AND (Solr AND TYPO3) → Ergebnisse müssen beide Begriffe enthalten.
  • OR (Solr OR Elasticsearch) → Ergebnisse enthalten mindestens einen Begriff.
  • NOT (TYPO3 NOT Solr) → Ergebnisse ausschließen, die den Begriff enthalten.
    → Ideal für: Komplexe Filter in Shops oder Fachdatenbanken.

Feldsuche

Ermöglicht gezielte Suchen in bestimmten Feldern, z. B. nur im Titel, in Kategorien, Metadaten oder benutzerdefinierten Attributen. So lassen sich Ergebnisse präzise eingrenzen – etwa alle Artikel einer bestimmten Kategorie oder Dokumente eines bestimmten Autors.
→ Beispiel: Suche nur in Produktbeschreibungen, nicht in Bewertungen.

Fuzzy Search

Findet ähnlich geschriebene Begriffe – auch bei Tippfehlern oder abweichenden Schreibweisen (z. B. Solr vs. Sollr). Die Toleranz ist konfigurierbar (z. B. max. 1–2 Abweichungen).
→ Perfekt für: Nutzerfreundliche Suchen mit hoher Fehlertoleranz.

Mehrfeldsuche

Durchsucht mehrere Felder gleichzeitig (z. B. Titel, Beschreibung, Metadaten) und kann diese unterschiedlich gewichten (z. B. Titel stärker als Beschreibung).
→ Vorteil: Flexible Suche mit priorisierten Feldern.

Phrasensuche

Findet exakt zusammenhängende Wortfolgen (z. B. "TYPO3 Extension"). Nützlich, wenn Suchbegriffe in einer festen Reihenfolge vorkommen müssen – etwa bei Markennamen, Zitaten oder technischen Begriffen.
→ Tipp: Kombinierbar mit Wildcards für flexible Phrasen.

Proximity Search

Findet Begriffe, die in einem bestimmten Abstand zueinander vorkommen (z. B. "TYPO3 Solr"~3 → Begriffe maximal 3 Wörter voneinander entfernt).
→ Nützlich für: Semantisch verwandte Begriffe, die nicht direkt nebeneinanderstehen.

Suche nach exakten Begriffen / Terms

Durchsucht exakt einen bestimmten Begriff – ohne sprachliche Erweiterungen (z. B. Stemming oder Synonyme). Ideal für technische IDs, Codes oder präzise Suchen.
→ Beispiel: Suche nach der exakten Produktnummer ART-12345.

Volltextsuche

Durchsucht komplette Inhalte von Dokumenten, Webseiten oder Datensätzen – nicht nur Metadaten oder Titel. Selbst wenn ein Suchbegriff nur einmal im Fließtext vorkommt, wird er gefunden. Ideal für umfassende Inhaltsrecherchen oder die Suche nach spezifischen Informationen in langen Texten.
→ Perfekt für: Content-Heavy-Websites, Wissensdatenbanken oder Dokumentenarchive.

Wildcard- und Platzhaltersuche

Unterstützt Platzhalter wie * (mehrere Zeichen) oder ? (ein Zeichen):

  • TYPO3* → Finde TYPO3, TYPO3 CMS, TYPO3 Extension.
  • S?lr → Finde Solr, Sulr.
    → Hilfreich für: Unvollständige Begriffe, Varianten oder Präfixe.

Relevanz und Ranking

Optimieren Sie die Reihenfolge der Suchergebnisse für maximale Nutzerfreundlichkeit.

Boosting

Bestimmte Dokumente oder Felder können stärker gewichtet werden, damit wichtige Treffer weiter oben erscheinen.

  • Dokument-Boosting: Bestimmte Seiten (z. B. Landing Pages) priorisieren.
  • Feld-Boosting: Titel oder Kategorien höher gewichten als Fließtext.
    → Anwendung: Marketing-Seiten oder Premium-Produkte hervorheben.

Content Elevation / Query Elevation

Bestimmte Inhalte können für definierte Suchanfragen gezielt an prominenter Stelle platziert werden.

  • Beispiel: Bei der Suche nach "TYPO3 Hosting" wird immer ein bestimmtes Angebot als erstes Ergebnis angezeigt.
    → Anwendung: Marketing-Kampagnen oder wichtige Seiten hervorheben.

Decay-/Distance-Boosting

Gewichtet Treffer abhängig von ihrer Nähe zu einem Zielwert, z. B.:

  • Aktualität: Neuere Dokumente höher bewerten (recip(ms(NOW,date),3.16e-11,1,1)).
  • Preis: Produkte nahe einem Wunschpreis priorisieren.
  • Geografisch: Ergebnisse in der Nähe des Nutzerstandorts.
    → Beispiel: "Zeige mir Hotels innerhalb von 5 km, sortiert nach Entfernung."

Function Queries

Nutzen berechnete Werte für das Ranking, z. B.:

  • Aktualität: now() – neuere Dokumente höher gewichten.
  • Popularität: popularity – nach Nutzerinteraktionen sortieren.
  • Distanz: geodist() – Ergebnisse in der Nähe des Standorts priorisieren.
    → Ideal für: Dynamische Ranking-Regeln.

Learning to Rank (LTR)

Ermöglicht den Einsatz maschineller Lernmodelle, um die Trefferreihenfolge datenbasiert zu verbessern.

  • Trainiert mit historischen Suchdaten (z. B. Klickraten).
  • Kombiniert mehrere Ranking-Faktoren (z. B. Relevanz + Nutzerverhalten).
    → Für: Fortgeschrittene Suchoptimierung mit KI.

Personalisiertes Ranking

Passt die Reihenfolge der Suchergebnisse an individuelle Nutzermerkmale an, z. B.:

  • Nutzerhistorie (z. B. früher gekaufte Kategorien).
  • Standort (regionale Ergebnisse).
  • Rollen (z. B. Admin sieht andere Ergebnisse als Gast).
    → Voraussetzung: Nutzerdaten oder Session-Informationen.

Query-Time Boosting

Ermöglicht dynamische Gewichtung direkt in der Suchanfrage – ohne den Index zu ändern.

  • Beispiel: q=TYPO3&bq=category:premium^2 → Premium-Kategorie wird doppelt gewichtet.
    → Vorteil: Flexible Anpassung ohne Re-Indexierung.

Relevanzbasierte Sortierung

Ordnet Treffer automatisch nach ihrer inhaltlichen Passung zur Suchanfrage (Standard in Solr). Berücksichtigt Faktoren wie:

  • Häufigkeit des Suchbegriffs im Dokument.
  • Position des Begriffs (z. B. Titel > Fließtext).
  • Feldgewichtung (z. B. title^2 für doppelte Gewichtung).
    → Grundlage für alle Ranking-Optimierungen.

Re-Ranking

Passt das Ranking nachträglich für die besten Treffer an, um besonders relevante Ergebnisse weiter zu optimieren.

  • Beispiel: Die Top 10 Ergebnisse werden mit einem zweiten Algorithmus neu bewertet.
    → Nützlich für: Hochpräzise Suchen in großen Datenmengen.

Sortierung nach Feldern

Ergebnisse können alternativ nach Feldern sortiert werden, z. B.:

  • Datum (neueste zuerst).
  • Alphabetisch (A–Z).
  • Preis (aufsteigend/absteigend).
  • Beliebtheit (nach Klicks oder Bewertungen).
    → Beispiel: Shop-Sortierung nach "Preis: niedrig → hoch".

Vorschläge & Fehlertoleranz

Verbessern Sie die Nutzererfahrung mit intelligenten Vorschlägen und Korrekturen.

Autocomplete

Ergänzt Suchbegriffe automatisch während der Eingabe – ähnlich wie bei Google.

  • Funktioniert mit Teilstrings (z. B. "Sol" → "Solr").
  • Kann Kategorien oder Tags einbeziehen.
    → Vorteil: Schnellere und präzisere Suchanfragen.

Auto Suggest / Search Suggestions

Zeigt während der Eingabe passende Suchvorschläge an – basierend auf:

  • Häufigen Suchanfragen.
  • Indexierten Begriffen.
  • Nutzerverhalten (z. B. beliebte Suchen).
    → Beispiel: Bei Eingabe von "TYPO" werden "TYPO3", "TYPO3 CMS", "TYPO3 Extension" vorgeschlagen.

Did you mean / Rechtschreibkorrektur

Erkennt mögliche Tippfehler und schlägt Korrekturen vor (z. B. "Sollr" → "Meinten Sie: Solr?").

  • Nutzt Edit Distance (z. B. Levenshtein-Algorithmus).
  • Kann Nutzer zur korrigierten Suche weiterleiten.
    → Ideal für: Nutzerfreundliche Suchen mit hoher Fehlertoleranz.

Normalisierung / Tokenisierung / sprachspezifische Analyse

Bereitet Suchbegriffe und Inhalte sprachlich auf, z. B.:

  • Tokenisierung: Zerlegung in einzelne Wörter (z. B. "TYPO3-CMS" → ["TYPO3", "CMS"]).
  • Normalisierung: Vereinheitlichung von Schreibweisen (z. B. "ß" → "ss").
  • Sprachspezifische Regeln (z. B. Umlaute, Apostrophe).
    → Grundlage für präzise Suchergebnisse in mehreren Sprachen.

Stemming / Lemmatisierung

Reduziert Wörter auf ihre Grundform (z. B. "laufen" → "lauf", "besser" → "gut").

  • Sprachabhängig (z. B. deutscher Snowball-Stemmer).
  • Verbessert die Trefferquote bei flexiblen Suchanfragen.
    → Beispiel: Suche nach "Hund" findet auch "Hunde" oder "Hundes".

Stopword-Behandlung

Ignoriert oder behandelt häufige, wenig aussagekräftige Wörter (z. B. "und", "der", "die").

  • Standard-Stopword-Listen pro Sprache.
  • Anpassbare Listen für domänenspezifische Begriffe.
    → Vorteil: Fokussierung auf relevante Suchbegriffe.

Synonymbehandlung

Berücksichtigt unterschiedliche Begriffe mit gleicher Bedeutung (z. B. "Auto" = "PKW" = "Fahrzeug").

  • Konfigurierbare Synonym-Listen pro Sprache.
  • Dynamische Synonyme (z. B. aus Thesauri).
    → Anwendung: Fachbegriffe, regionale Unterschiede (z. B. "Handy" vs. "Smartphone").

Darstellung & Navigation in Ergebnissen

Gestalten Sie Suchergebnisse nutzerfreundlich und interaktiv.

Collapse & Expand

Fasst ähnliche Treffer zunächst zu einem Hauptergebnis zusammen (z. B. alle Varianten eines Produkts).

  • Aufklappbar für Details (z. B. "Zeige alle 5 Varianten an").
    → Ideal für: Kompakte Darstellungen mit Option für Details.

Duplikat-Erkennung / De-Duplication

Erkennt doppelte oder nahezu identische Inhalte und blendet sie aus oder fasst sie zusammen.

  • Konfigurierbare Ähnlichkeitsgrenzen.
  • Beibehaltung des "besten" Treffers (z. B. aktuellste Version).
    → Vorteil: Saubere, redundanzfreie Suchergebnisse.

Drill-Down / Drill-Sideways

Ermöglicht das schrittweise Eingrenzen von Suchergebnissen über Filter.

  • Drill-Down: Filter werden kumulativ angewendet (z. B. erst Kategorie, dann Preis).
  • Drill-Sideways: Zeigt alternative Filteroptionen an (z. B. "Andere Kategorien mit Treffern").
    → Vorteil: Intuitive Navigation in großen Datenmengen.

Ergebnis-Clustering

Gruppiert ähnliche Suchergebnisse thematisch oder inhaltlich, z. B.:

  • Nach Kategorien (z. B. "TYPO3", "Solr", "Hosting").
  • Nach Autoren oder Quellen.
    → Vorteil: Schnellere Orientierung in großen Treffermengen.

Facetten mit Statistiken

Erweitern Facetten um Kennzahlen, z. B.:

  • Anzahl der Treffer pro Facettenwert.
  • Durchschnitt (z. B. durchschnittlicher Preis).
  • Minimum/Maximum (z. B. günstigstes/teuerstes Produkt).
    → Beispiel: "Kategorie 'Bücher' (12 Treffer, Ø Preis: 19,99 €)".

Facettierte Suche

Ergänzt Suchergebnisse um Filtermöglichkeiten, z. B. nach:

  • Kategorie (z. B. Blog, Shop, Dokumentation).
  • Sprache (z. B. Deutsch, Englisch).
  • Inhaltstyp (z. B. PDF, HTML, Bild).
  • Datum (z. B. 2023, 2024).
    → Beispiel: "Zeige nur PDFs aus der Kategorie 'Handbücher' an."

Gruppierung / Grouping

Fasst Suchergebnisse mit gemeinsamen Merkmalen zusammen, z. B.:

  • Produktvarianten (z. B. ein T-Shirt in verschiedenen Farben).

<li">Dokumente aus derselben Quelle (z. B. alle PDFs eines Autors).
→ Anwendung: Übersichtliche Darstellung von Varianten.</li">

Heatmap-Facetten

Bereiten geografische Daten rasterbasiert auf und zeigen, in welchen Regionen besonders viele Treffer liegen.

  • Visualisierung als Heatmap (z. B. auf einer Karte).
  • Aggregation nach Koordinaten (z. B. Postleitzahlen, Länder).
    → Anwendung: Standortbasierte Suchen (z. B. Filialen, Events).

Multi-Select-Facetten

Ermöglicht das gleichzeitige Auswählen mehrerer Filterwerte innerhalb einer Facette.

  • Beispiel: Filter nach mehreren Kategorien (z. B. "TYPO3" UND "Solr").
  • Logische Verknüpfung (AND/OR) konfigurierbar.
    → Vorteil: Flexiblere Eingrenzung der Suchergebnisse.

Paginierung

Teilt große Treffermengen in Seiten auf (z. B. 10 Ergebnisse pro Seite).

  • Konfigurierbare Seitengröße.
  • Direktlinks zu bestimmten Seiten (z. B. "Seite 2").
    → Standard für: Alle Suchergebnisse mit vielen Treffern.

Pivot-Facetten

Kombinieren mehrere Facetten hierarchisch, z. B.:

  1. Land (Deutschland, Österreich, Schweiz).
  2. Stadt (Berlin, München, Wien).
    → Beispiel: "Zeige alle Ergebnisse aus Deutschland → Berlin an."
    → Ideal für: Mehrstufige Filter (z. B. in Immobilienportalen).

Range-Facetten

Fasst Werte in Bereiche zusammen, z. B.:

  • Preise: 0–50 €, 50–100 €, 100–200 €.
  • Daten: 2020–2022, 2023–2024.
  • Größen: S, M, L, XL.
    → Anwendung: Preisfilter in Shops, Zeiträume in Archiven.

Result Diversification

Sorgt für mehr Vielfalt in der Ergebnisliste, indem ähnliche Treffer nicht direkt hintereinander erscheinen.

  • Berücksichtigt verschiedene Quellen, Typen oder Inhalte.
  • Vermeidet "Spamming" durch zu ähnliche Ergebnisse.
    → Anwendung: Ausgewogene Suchergebnisse (z. B. in News-Portalen).

Results Highlighting

Hebt Suchbegriffe in den Treffern hervor und zeigt relevante Textausschnitte an.

  • Beispiel: Bei Suche nach "Solr" wird im Treffer der Satz "... mit EXT:solr für TYPO3 ..." markiert.
  • Konfigurierbare Highlighting-Regeln (z. B. Farbgebung, Umbruch).
    → Vorteil: Nutzer erkennen sofort, warum ein Ergebnis passt.

Analysen, Kennzahlen & Auswertung

Nutzen Sie Solr nicht nur für die Suche, sondern auch für Datenanalysen und Auswertungen.

Ähnlichkeitssuche / Similar Documents

Findet Dokumente mit ähnlichen Inhalten oder Begriffsmustern.

  • Basierend auf:
    • Gemeinsamen Keywords.
    • TF-IDF (Term Frequency-Inverse Document Frequency).
    • Vektoren (bei semantischer Suche).
      → Beispiel: "Nutzer, die diesen Artikel gelesen haben, interessierten sich auch für..."

Analytics / JSON Facet API

Ermöglicht komplexe Auswertungen und verschachtelte Facettenabfragen in strukturierter JSON-Form.

  • Performante Abfragen auch bei großen Datenmengen.
  • Flexible Aggregationen (z. B. nach mehreren Kriterien).
    → Für: Entwickler, die Solr als Analyse-Tool nutzen.

Facetten-Auswertungen

Zeigen, wie sich Suchergebnisse auf Filterwerte verteilen, z. B.:

  • Anzahl Treffer pro Kategorie.
  • Verteilung nach Datum oder Sprache.
    → Anwendung: Quick Insights für Nutzer (z. B. "Meiste Treffer in der Kategorie 'Blog'").

Significant Terms / More Like This

Ermitteln besonders prägende Begriffe eines Dokuments oder einer Treffermenge.

  • Significant Terms: Begriffe, die in einem Dokument überdurchschnittlich häufig vorkommen.
  • More Like This: Finde ähnliche Dokumente basierend auf gemeinsamen Begriffen.
    → Anwendung: Empfehlungssysteme, thematische Cluster.

Statistische Aggregationen

Berechnen Kennzahlen über Suchergebnisse hinweg, z. B.:

  • Summe (z. B. Gesamtpreis aller Treffer).
  • Durchschnitt (z. B. durchschnittliche Bewertung).
  • Verteilung (z. B. Anzahl Treffer pro Kategorie).
    → Beispiel: "Durchschnittlicher Preis der gefundenen Produkte: 49,99 €".

Term / Phrase Frequencies

Erfassen, wie häufig einzelne Begriffe oder Wortfolgen in Dokumenten vorkommen.

  • Nützlich für:
    • Relevanzbewertung.
    • Mustererkennung (z. B. häufige Keywords).
    • Inhaltsanalysen.
      → Beispiel: "Der Begriff 'TYPO3' kommt in 80% der Dokumente vor."

Term Vectors

Speichern Informationen darüber, welche Begriffe in einem Dokument vorkommen und wie oft.

  • Grundlage für:
    • Hervorhebungen in Suchergebnissen.
    • Ähnlichkeitssuchen.
    • Textanalysen (z. B. TF-IDF).
      → Anwendung: Fortgeschrittene Textanalysen.

Trefferanzahl

Zeigt an, wie viele Ergebnisse zu einer Suchanfrage gefunden wurden.

  • Echtzeit-Aktualisierung bei Filteränderungen.
  • Formatierbar (z. B. "123 Ergebnisse gefunden").
    → Standard in allen Suchergebnissen.

Geografische Suche

Lokalisieren Sie Inhalte oder Nutzer ortsbasiert.

Bounding Box Search

Sucht Treffer innerhalb eines rechteckigen geografischen Bereichs, definiert durch Koordinaten (z. B. Nordwest- und Südost-Ecke).

  • Anwendung: Kartenausschnitte (z. B. "Zeige alle Immobilien in diesem Stadtviertel").
    → Ideal für: Geografische Filter in Kartenanwendungen.

Geo-Facettierung

Ergänzt geografische Suchen um räumliche Gruppierungen oder Zählungen, z. B.:

  • Anzahl Treffer pro Land/Region.
  • Verteilung auf einer Karte.
    → Beispiel: "In Berlin: 45 Treffer, in München: 32 Treffer."

Geografische Filter

Grenzen Suchergebnisse nach räumlichen Kriterien ein, z. B.:

  • Land (z. B. nur Deutschland).
  • Region (z. B. nur Bayern).
  • Umkreis (z. B. nur innerhalb von 20 km).
    → Anwendung: Standortbasierte Suchen (z. B. für Lieferdienste).

Geosuche

Findet Ergebnisse anhand geografischer Daten, z. B.:

  • Standort (z. B. alle Filialen in Berlin).
  • Region (z. B. alle Events in Bayern).
  • Land (z. B. alle Produkte für Deutschland).
    → Voraussetzung: Koordinaten oder geografische Metadaten im Index.

Heatmaps / räumliche Visualisierung

Stellen geografische Trefferdichten visuell dar (z. B. als Heatmap auf einer Karte).

  • Farbskala: Dichte der Treffer (z. B. rot = viele Treffer, grün = wenige).
  • Interaktiv: Zoom- und Filterfunktionen.
    → Anwendung: Analyse von regionalen Schwerpunkten (z. B. für Marketing).

Radiussuche

Sucht Treffer innerhalb eines festgelegten Umkreises um einen Standort (z. B. alle Ergebnisse im 10 km Radius um Frankfurt).

  • Konfigurierbarer Radius (z. B. 5 km, 50 km).
  • Einheit: Meter oder Kilometer.
    → Beispiel: "Zeige mir alle Restaurants im Umkreis von 5 km."

Sortierung nach Entfernung

Ordnet geografische Treffer nach ihrer Nähe zu einem bestimmten Standort.

  • Referenzpunkt: Nutzerstandort oder manuell festgelegt.
  • Einheit: Meter oder Kilometer.
    → Beispiel: "Sortiere nach Entfernung: Nächste Filiale zuerst."

Dokumente, Inhalte & Datenquellen

Indexieren und durchsuchen Sie vielfältige Inhalte und Datenquellen.

Block Join Queries

Ermöglichen Suchabfragen über hierarchisch verknüpfte Dokumente, z. B.:

  • Suche nach Hauptdokumenten, die bestimmte Child-Dokumente enthalten.
  • Filter nach Eltern- oder Kind-Feldern.
    → Beispiel: "Finde alle Bücher, die ein Kapitel mit dem Titel 'Solr' enthalten.

Indexierung aus Datenbanken

Übernimmt Inhalte direkt aus Datenbanken (z. B. MySQL, PostgreSQL) und macht sie in Solr durchsuchbar.

  • Direkte Abfrage oder regelmäßige Synchronisation.
  • Mapping von Datenbankfeldern zu Solr-Feldern.
    → Beispiel: Produktdaten aus einem Shop-System indexieren.

Indexierung aus XML / JSON / CSV

Übernimmt Inhalte aus strukturierten Dateien wie:

  • XML (z. B. RSS-Feeds, Konfigurationsdateien).
  • JSON (z. B. API-Daten, NoSQL-Datenbanken).
  • CSV (z. B. Tabellen, Exporte).
    → Vorteil: Einfache Integration externer Datenquellen.

Indexierung strukturierter Daten

Verarbeitet klar gegliederte Datenfelder, z. B. aus:

  • Datenbanken (MySQL, PostgreSQL).
  • JSON (z. B. API-Antworten).
  • XML (z. B. RSS-Feeds).
    → Vorteil: Präzise Suche und Filterung in strukturierten Daten.

Indexierung unstrukturierter Daten

Erfasst Inhalte ohne feste Datenstruktur, z. B.:

  • Fließtexte (z. B. Blog-Artikel).
  • Dokumente (z. B. PDFs, Word).
  • E-Mails oder Chats.
    → Funktion: Automatische Tokenisierung und Normalisierung.

Inkrementelle Indexierung

Aktualisiert nur neue oder geänderte Inhalte im Index – statt alle Daten komplett neu einzulesen.

  • Spart Zeit und Ressourcen.
  • Ideal für große Datenmengen.
    → Beispiel: Nur neue Blog-Artikel werden indexiert.

Metadaten-Extraktion

Übernimmt zusätzliche Informationen aus Dateien oder Datensätzen, z. B.:

  • Titel, Autor, Datum.
  • Schlagwörter, Kategorien.
  • Technische Metadaten (z. B. Dateigröße, Format).
    → Anwendung: Filter nach Metadaten (z. B. "Zeige nur PDFs von Autor X an").

Near Real Time Search

Macht neue oder geänderte Inhalte kurz nach der Indexierung durchsuchbar (typischerweise innerhalb von Millisekunden bis Sekunden).

  • Voraussetzung: SolrCloud oder Commit-Strategie.
  • Anwendung: Echtzeit-Suchen (z. B. in News-Portalen).
    → Vorteil: Aktualisierte Inhalte sind sofort auffindbar.

Nested Documents / Child Documents

Speichert zusammengehörige Inhalte in einer hierarchischen Struktur, z. B.:

  • Hauptdokument (z. B. ein Buch) mit Untereinträgen (z. B. Kapitel).
  • Produkt mit Varianten (z. B. Farben, Größen).
    → Funktion: Gemeinsame Suche und Filterung über Eltern-Kind-Beziehungen.

Suche in Dokumenten / Anhängen

Durchsucht Inhalte aus Dateien wie:

  • PDFs (z. B. Handbücher, Whitepapers).
  • Word-Dokumente (z. B. Verträge, Berichte).
  • Präsentationen (z. B. PowerPoint-Dateien).
    → Voraussetzung: Text-Extraktion (z. B. über Apache Tika).

Text-Extraktion aus Dateien

Liest Inhalte aus verschiedenen Dateiformaten aus, z. B.:

  • PDF (auch gescannte Dokumente mit OCR).
  • Office-Formate (DOCX, XLSX, PPTX).
  • Bilddateien (Metadaten wie EXIF).
    → Tool: Apache Tika oder Solr Cell.
    → Vorteil: Volltextsuche in allen Dateitypen.

Sprach- und Inhaltsverständnis

Verbessern Sie die Suchqualität durch sprachliche und semantische Funktionen.

Hybrid Search (lexikalisch + semantisch)

Kombiniert klassische Stichwortsuche mit semantischer Ähnlichkeitssuche für optimale Ergebnisse.

  • Lexikalisch: Exakte Treffer (z. B. "TYPO3").
  • Semantisch: Inhaltlich passende Ergebnisse (z. B. "CMS" für "TYPO3").
    → Vorteil: Höhere Trefferquote und bessere Nutzererfahrung.

Mehrsprachige Suche

Unterstützt Suchanfragen über mehrere Sprachen hinweg mit:

  • Sprachspezifischen Analyzern (z. B. für Deutsch, Englisch, Französisch).
  • Automatischer Spracherkennung.
    → Anwendung: Internationale Websites oder mehrsprachige Inhalte.

Phonetische Suche

Findet Begriffe auch dann, wenn sie ähnlich klingen, z. B.:

  • "Müller" vs. "Mueller".
  • "Smith" vs. "Smyth".
  • Algorithmen: Soundex, Metaphone, Beider-Morse.
    → Ideal für: Namenssuche oder fehleranfällige Eingaben.

Semantische Suche

Berücksichtigt nicht nur exakte Suchbegriffe, sondern auch deren Bedeutung und inhaltliche Zusammenhänge.

  • Nutzt:
    • Wortvektoren (z. B. Word2Vec, BERT).
    • Thesauri oder Ontologien.
  • Beispiel: Suche nach "Hund" findet auch "Canis lupus familiaris".
    → Voraussetzung: Semantische Modelle oder Knowledge Graphs.

Sprachabhängige Analyzer

Verarbeiten Inhalte je nach Sprache mit passenden Regeln, z. B.:

  • Worttrennung (z. B. "Donaudampfschifffahrtsgesellschaft" → ["Donau", "Dampf", "Schiff", ...]).
  • Grundformen (Stemming/Lemmatisierung).
  • Sonderzeichen (z. B. Umlaute, Apostrophe).
    → Beispiel: Deutscher Analyzer für "ä" → "a", "ß" → "ss".

Synonyme je Sprache

Erweitern Suchanfragen um sprachspezifische Bedeutungsvarianten, z. B.:

  • Deutsch: "Auto" = "PKW" = "Fahrzeug".
  • Englisch: "car" = "automobile" = "vehicle".
    → Konfiguration: Synonym-Listen pro Sprache.

Transliteration

Wandelt Zeichen aus unterschiedlichen Schriftsystemen in eine vergleichbare Schreibweise um, z. B.:

  • Kyrillisch → Lateinisch (z. B. "Москва" → "Moskau").
  • Chinesisch → Pinyin (z. B. "北京" → "Beijing").
    → Anwendung: Suche in internationalen Inhalten.

Vektorsuche / Dense Vector Search

Findet Inhalte auf Basis inhaltlicher Ähnlichkeit statt nur über exakte Begriffe.

  • Funktion:
    • Texte/Daten werden als Vektoren dargestellt.
    • Ähnlichkeit wird über Kosinus-Ähnlichkeit oder andere Metriken berechnet.
  • Anwendung:
    • Empfehlungssysteme.
    • Ähnliche Dokumente oder Produkte.
      → Technologie: Solr mit Vector Search Plugin oder KI-Modelle.

Sicherheit & Zugriff

Steuern Sie den Zugriff auf Suchergebnisse granular und sicher.

Dokumentenbasierte Rechtefilter

Prüfen Berechtigungen direkt auf Ebene einzelner Dokumente, damit auch innerhalb eines gemeinsamen Index nur freigegebene Inhalte angezeigt werden.

  • Dynamische Filter basierend auf Nutzerrechten.
  • Keine manuelle Index-Pflege nötig.
    → Beispiel: In einem DMS sehen Nutzer nur Dokumente ihrer Abteilung.

Mandantenfähigkeit / Multi-Tenancy

Ermöglicht die getrennte Verwaltung und Suche für mehrere Organisationen, Bereiche oder Kunden innerhalb einer gemeinsamen Solr-Umgebung.

  • Isolierte Indizes pro Mandant.
  • Gemeinsame Infrastruktur, aber separate Daten.
    → Vorteil: Kosteneffizienz und Skalierbarkeit.

Sicherheitsfilter auf Query-Ebene

Ergänzen Suchanfragen um Berechtigungsregeln, damit unzulässige Inhalte bereits bei der Abfrage ausgeschlossen werden.

  • Beispiel: q=* AND -secret:true → Blendet geheime Dokumente aus.
  • Performance: Keine Nachfilterung nötig.
    → Anwendung: Sichere Suchen in sensiblen Umgebungen.

Zugriffsbeschränkungen / Access Control Filtering

Filtert Suchergebnisse nach Berechtigungen oder Rollen, damit Nutzer nur Inhalte sehen, für die sie tatsächlich freigeschaltet sind.

  • Beispiele:
    • Nutzerrolle: Admin sieht alle Dokumente, Gast nur öffentliche.
    • Mandant: Kunden sehen nur ihre eigenen Daten.
      → Anwendung: Intranets, geschützte Bereiche, Mandantensysteme.

Performance, Skalierung & Betrieb

Optimieren Sie Solr für Hochleistung, Ausfallsicherheit und Skalierbarkeit.

Caching

Speichert häufig genutzte Daten oder Abfrageergebnisse zwischen, damit:

  • Suchanfragen schneller beantwortet werden.
  • Systeme entlastet werden.
  • Typische Caches:
    • Query Result Cache (Suchergebnisse).
    • Document Cache (Dokumente).
    • Filter Cache (Facetten).
      → Konfiguration: Cache-Größe und -Dauer anpassen.

Cloud-Betrieb mit SolrCloud

Ermöglicht den verteilten und ausfallsicheren Betrieb von Solr über mehrere Knoten hinweg.

  • Automatische Sharding & Replication.
  • Zentrales Management über eine Admin-Oberfläche.
  • Skalierbarkeit durch Hinzufügen weiterer Knoten.
    → Ideal für: Große, kritische Suchanwendungen.

Failover

Sorgt dafür, dass bei Ausfall einer Instanz automatisch auf verfügbare Systeme umgeschaltet wird, damit die Suche weiterhin erreichbar bleibt.

  • Automatische Erkennung von Ausfällen.
  • Umschaltung ohne Downtime.
    → Anwendung: Kritische Suchanwendungen (z. B. E-Commerce).

Load Balancing

Verteilt Suchanfragen auf mehrere Instanzen, damit:

  • Last gleichmäßiger verarbeitet wird.
  • Die Suche auch bei hohem Traffic stabil bleibt.
    → Technologie: Reverse Proxy (z. B. Nginx, HAProxy) oder SolrCloud.

Query Routing

Leitet Suchanfragen gezielt an die passenden Solr-Instanzen oder Datenbereiche weiter, damit Abfragen effizienter und schneller verarbeitet werden.

  • Beispiel: Anfragen zu "Produkten" gehen an Shard A, Anfragen zu "Dokumenten" an Shard B.
    → Vorteil: Optimierte Performance für spezifische Abfragen.

Replication

Hält identische Kopien eines Index auf mehreren Instanzen bereit, um:

  • Ausfallsicherheit zu erhöhen.
  • Suchanfragen auf mehrere Systeme zu verteilen.
    → Vorteil: Hochverfügbarkeit und Lastverteilung.

Sharding

Verteilt große Datenmengen auf mehrere Teilindizes (Shards), damit Suche und Indexierung performant und skalierbar bleiben.

  • Automatische Verteilung der Daten.
  • Parallelisierung von Abfragen.
    → Beispiel: 10 Mio. Dokumente auf 5 Shards verteilen.

Skalierbare Index- und Query-Verarbeitung

Ermöglicht es, große Datenmengen und viele gleichzeitige Suchanfragen effizient zu verarbeiten, indem:

  • Last auf mehrere Systeme verteilt wird.
  • Indexierung und Suche parallel laufen.
    → Voraussetzung: SolrCloud oder manuelle Sharding/Replication.

Verteilte Suche

Führt Suchabfragen parallel über mehrere Solr-Instanzen oder Datenbereiche aus und bündelt die Ergebnisse zu einer gemeinsamen Trefferliste.

  • Vorteil: Schnellere Abfragen bei großen Datenmengen.
  • Anwendung: Enterprise-Suchen mit Millionen von Dokumenten.

API & Integration

Binden Sie Solr nahtlos in Ihre Anwendungen, Systeme und Workflows ein.

Anbindung externer Datenquellen

Bindet Inhalte aus externen Systemen, Datenbanken oder Schnittstellen an, damit sie gemeinsam indexiert und in der Suche nutzbar gemacht werden können.

  • Beispiele:
    • Datenbanken (MySQL, PostgreSQL).
    • APIs (REST, GraphQL).
    • Cloud-Speicher (AWS S3, Google Drive).
      → Technologie: Solr Data Import Handler (DIH) oder Custom Plugins.

Export großer Treffermengen

Ermöglicht das zuverlässige Ausgeben sehr vieler Suchergebnisse, ohne sie seitenweise abrufen zu müssen.

  • Anwendung:
    • Datenexporte (z. B. für Backups).
    • Analysen (z. B. in BI-Tools).
    • Weiterverarbeitung (z. B. in anderen Systemen).
      → Technologie: Solr Cursor Mark oder Deep Paging.

Integration in CMS, Shops, Portale, DAM, PIM, DMS

Lässt sich an unterschiedliche Quellsysteme und Plattformen anbinden, z. B.:

  • CMS: TYPO3, WordPress, Drupal.
  • Shops: Magento, Shopware, WooCommerce.
  • Portale: Intranets, Community-Plattformen.
  • DAM/PIM: Digital Asset Management, Product Information Management.
  • DMS: Dokumentenmanagement-Systeme.
    → Vorteil: Zentrale Suche über alle Systeme hinweg.

JSON Request API

Erlaubt das Formulieren von Suchanfragen und Parametern in strukturierter JSON-Form.

  • Vorteile:
    • Komplexe Abfragen übersichtlicher darstellbar.
    • Leichtere Integration in moderne Anwendungen.
  • Beispiel:
    {
     "query": "TYPO3",
     "filter": "category:cms",
     "sort": "date desc"
    }

→ Anwendung: Frontend-Anwendungen mit JavaScript/React.

REST-/HTTP-API

Ermöglicht den Zugriff auf Suche, Indexierung und Verwaltungsfunktionen über standardisierte HTTP-Anfragen.

  • Endpunkte:
    • /select → Suche.
    • /update → Indexierung.
    • /admin → Verwaltung.
  • Formate: JSON, XML, CSV.
    → Vorteil: Einfache Integration in jede Anwendung.

SQL Query Support

Erlaubt Such- und Analyseabfragen in einer SQL-ähnlichen Syntax, damit strukturierte Daten für viele Nutzer vertrauter und leichter zugänglich werden.

  • Beispiel:
    SELECT title, price FROM products WHERE category = 'books' ORDER BY price DESC

→ Vorteil: Einfacher Einstieg für SQL-Entwickler.

Streaming Expressions

Ermöglichen die Verarbeitung und Auswertung großer Datenmengen direkt in Solr, z. B. für:

  • Aggregationen (z. B. Summen, Durchschnitte).
  • Joins (z. B. Verknüpfung mehrerer Indizes).
  • Analysen über mehrere Schritte hinweg.
    → Anwendung: ETL-Prozesse (Extract, Transform, Load).

XML / CSV / Binary Responses

Liefert Suchergebnisse in unterschiedlichen Ausgabeformaten, damit sie je nach Anwendungsfall:

  • Weiterverarbeitet werden können (z. B. in Backend-Systemen).
  • Exportiert werden können (z. B. für Excel).
  • Direkt genutzt werden können (z. B. in Legacy-Systemen).
    → Beispiel: CSV-Export für Datenanalysen.