Skip to content

LuceneServer.NET

LuceneServer.NET is a REST server on top of Apache Lucene.NET. It hosts any number of search indices and makes them available through simple GET/POST requests.

  • Written in C# on .NET 10
  • Full-text search with Lucene query syntax
  • Phonetic search (Soundex, Cologne phonetics)
  • Geo filters (bounding box, distance, distance to line) and GeoJSON output
  • Grouping (DISTINCT-like) of field values
  • Optional Basic authentication with roles (read, write, admin)
  • .NET client library LuceneServerNET.Client
  • Command line tools to fill an index from existing databases

Motivation

The goal is a quick and easy search. Performance should be high enough to search in real time from autocomplete input fields, even in large amounts of data.

Typical use cases:

  • Search in product lists
  • Search in large geo data sets such as addresses, plots, etc.
  • Indexing documents

The search index is meant for fast lookups. A hit can then be linked to the actual data. It is not a replacement for a database, it only provides a performant and usable search. The included tools fill an index from existing (relational) databases, e.g. periodically; database keys stored in the index link back to the original records.

Where to go next

Installation Build, run and host the server
Configuration Index paths, restore, Swagger
Authentication Clients, secrets and roles
REST API All endpoints
.NET client Use the server from C#