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*→ FindeTYPO3,TYPO3 CMS,TYPO3 Extension.S?lr→ FindeSolr,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^2fü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.:
- Land (Deutschland, Österreich, Schweiz).
- 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.