Click or drag to resize

Introduction

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:

  1. Create your document model

  2. Setup your environment

  3. 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 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 compile-time checking of whether a operation is applicable to the specified type.
Additional Features

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.

Requirements
.NET Framework 4.6.1, .NET Standard 2.0 or .NET 6+ and Sphinx or Manticore search engine 2.2.1 and up
About Sphinx
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 www.sphinxsearch.com.
About Manticore
Manticore Search is a Sphinx fork developed and maintained by Manticore Software Ltd. To learn more about Manticore please visit manticoresearch.com.
See Also