.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:

    book class
  • Initialize SphinxConnector.NET and Start Querying:

    query

 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.
More →

 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.
More →

 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.
More →

 No-Fuss Development

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.

Native API

  • 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
  • Configurable Encoding
  • 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.

SphinxQL

  • Based on standard ADO.NET 2.0 classes:
    • SphinxQLConnection
    • SphinxQLConnectionStringBuilder
    • SphinxQLCommand
    • SphinxQLDataAdapter
    • SphinxQLDataReader
    • SphinxQLParameter
    • SphinxQLTransaction
  • 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
logos

SphinxConnector.NET needs a least .NET 3.5 to run and supports Sphinx 2.0.1 and up. It also has experimental support for Mono. In case you need to access an older Sphinx server or cannot use .NET 3.5, you can still download SphinxConnector.NET V2.


What our Customers say:

SphinxConnector.NET is working great and the support is the most enthusiastic I've ever seen. Thank you so much!

Lư Tài Phong, Senior .NET Software Developer, NetPower

SphinxConnector.NET was really simple to setup and use. The support was really helpful and answered our questions really quick. Before we used SphinxConnector.NET, we had major stability problems with another API even under low search volumes. Now everything works great :) Great product!

Shar Ru, Senior Software Developer, Wiseltd
Submit your Testimonial →