SphinxConnector.NET is an all managed, fully asynchronous .NET library to access the functions
and features of the Sphinx full text search engine from any .NET
application. It comes with an easy to use fluent query API and
aditionally supports both native API and SphinxQL.
With the release of V4 all relevant methods of the fluent API and SphinxQL have gotten fully asynchronous implementations
to deliver the best possible throughput under high loads.
Fluent Query API:
The fluent query API makes using Sphinx with .NET easier and more comfortable then ever.
Its fluent interface has been designed for great usability and ease of use. Operating directly on
your document model(s) it lets you create your queries in a strongly typed fashion similar to LINQ.
To get up and running you only need three steps:
Create your document model
Setup your environment
Create a full-text session and start querying
In addition to querying, saving and deleting documents from your indexes is also supported. Also, SphinxConnector.NET
will automatically optimize these operations if possible, providing you with the highest achievable performance.
With its convention based configuration, it keeps your classes free from custom attributes and doesn't need
lengthy mapping configurations. The built-in conventions work for many scenarios, but you can of course
create your own conventions if needed, in a short and concise way.
Sphinx QL Features
- Based on standard ADO.NET 2.0 classes
- Insert and Update Records in Real-Time Indexes
- Select from any Index Type
- Select via DataReader or DataAdapter
- Connection Pooling
- Support for System.Transactions (TransactionScope)
- Support for Transactions
- Support for Command Parameters
- Fully asynchronous
Native API Features
- Support for all Sphinx versions starting at 2.2.1 in one library
- Support for performing queries via SphinxQL
- Support for string attributes introduced with Sphinx 1.10.1
- Support for features introduced in 0.9.9 like:
- Persistent connections: open one connection for several operations to minimize connection
- Override attributes: temporarily change the value of an attribute without modifying the
actual value for advanced search scenarios.
- Select clause: write SQL-like statements to operate on attributes
- Search related features:
- Set value and range filters
- Schedule several queries for batch execution
- Specify how Sphinx should match and rank documents
- and more
- Access to additional functions exposed by the Sphinx search engine:
- Build excerpts
- Build keywords
- Update attributes
- Query Sphinx for status variables
SphinxConnector.NET uses custom types as arguments for methods operating on Sphinx attributes. This
gives you strongly typed access to these methods and also enables compile-time checking of whether a
operation is applicable to the specified type.
SphinxConnector.NET supports outputting different types of log messages to help developers identify problems
or optimize their setup. The logging infrastructure integrates with the most popular .NET logging frameworks
such as NLog, log4net and the Microsoft Enterprise Library.
.NET Framework 4.5+ or .NET Core 2.0+ and Sphinx or Manticore search engine 2.2.1 and up
The Sphinx full-text search engine is developed and maintained by Sphinx Technologies
Inc. It provides a rich feature set for doing full text searches
in SQL databases and XML files. Currently supported databases include
Microsoft SQL Server, MySQL, and PostreSQL. Other databases can be used via ODBC.
To learn more about Sphinx please visit
Manticore Search is a Sphinx fork developed and maintained by Manticore Software Ltd.
To learn more about Manticore please visit