.NET Client API for the Sphinx Full-Text Search Engine
SphinxConnector.NET offers a fluent query API that makes using Sphinx with .NET easier and more comfortable than ever. Its fluent interface has been designed for great usability and ease of use. Operating directly on your document models, it lets you create your queries in a strongly typed, LINQ-like fashion:
Create your Document Model:
Initialize SphinxConnector.NET and Start Querying:
Fluent API Features
Easy Query Creation
Even the most complex queries can be created easily without writing a single line of SphinxQL with the LINQ-like query API. It makes you more productive, your code becomes easier to maintain and is easier to refactor.
Optimized Save and Delete
You can save and delete documents in real-time indexes with just a method call. SphinxConnector.NET takes care of the rest and generates optimized statements for great performance.
Convention Based Configuration
By using a convention based approach, the time you spend on configuration is reduced to a minimum. It keeps your code free of custom attributes, requires no manual object mappings and things generally work out of the box.
SphinxConnector.NET lets you focus on the task at hand: providing great full-text search capabilities for your users. It doesn't force you to create manual mappings for your objects, you don't have to use some clunky designer, setup is minimal: It just gets out of your way.
Intuitive to Use
The fluent query API allows both beginners and advanced users to easily design their full-text queries. Beginners will appreciate how easy it is to get started, advanced users will see how SphinxConnector.NET increases their productivity in complex scenarios.
Customizable if Needed
While the default configuration and mapping conventions already cover many common usage scenarios, SphinxConnector.NET can be easily customized if necessary.
In addition to the fluent API, SphinxConnector.NET provides developers with implementations of both the native Sphinx API and standard ADO.NET classes for executing SphinxQL statements.
Support for Sphinx 2.0.1 and up
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 network overhead.
- 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 the compiler to check whether the operation is valid for a given type.
Based on standard ADO.NET 2.0 classes:
Tailored to Sphinx specific data types and features, e.g.
- Automatic conversion from .NET types to Sphinx types and vice versa
- Methods for handling MVA values
Insert and Update Records in Real-Time Indexes
Select from any Index Type
Select via DataReader or DataAdapter
Connection Pooling for Maximum Performance
Support for Transactions
Support for TransactionScope (Local and Distributed Transactions)
Support for Command Parameters
Automatically detects and uses features based on Sphinx version, e.g. server side multi-query support with Sphinx 2.0.1 and above