Zum Inhalt

LuceneServer.NET

LuceneServer.NET ist ein REST-Server auf Basis von Apache Lucene.NET. Er verwaltet beliebig viele Suchindizes und stellt sie über einfache GET/POST-Requests bereit.

  • Umgesetzt in C# auf .NET 10
  • Volltextsuche mit Lucene-Query-Syntax
  • Phonetische Suche (Soundex, Kölner Phonetik)
  • Geo-Filter (Bounding Box, Distanz, Distanz zu einer Linie) und Ausgabe als GeoJSON
  • Gruppierung (ähnlich DISTINCT) von Feldwerten
  • Optionale Basic-Authentifizierung mit Rollen (read, write, admin)
  • .NET-Client-Bibliothek LuceneServerNET.Client
  • Kommandozeilen-Tools zum Befüllen eines Index aus bestehenden Datenbanken

Motivation

Ziel ist eine schnelle und einfache Suche. Die Performance soll hoch genug sein, um auch in großen Datenmengen in Echtzeit aus Autocomplete-Eingabefeldern zu suchen.

Typische Anwendungsfälle:

  • Suchen in Produktlisten
  • Suchen in großen Geodatenbeständen wie Adressen, Grundstücken usw.
  • Indizieren von Dokumenten

Der Suchindex dient in erster Linie dem schnellen Auffinden. Über die Treffer wird auf die eigentlichen Daten verlinkt. Er ist kein Ersatz für eine Datenbank, sondern sorgt für eine performante und bedienbare Suche. Mit den enthaltenen Tools kann ein Index aus bestehenden (relationalen) Datenbanken befüllt werden, z. B. regelmäßig; über im Index gespeicherte Datenbankschlüssel gelangt man zurück zum Originaldatensatz.

Weiterlesen

Installation Server bauen, starten und hosten
Konfiguration Indexpfade, Wiederherstellung, Swagger
Authentifizierung Clients, Secrets und Rollen
REST-API Alle Endpunkte
.NET-Client Server aus C# verwenden