SphinxConnector.NET 6.3 has been released

By Dennis

We're pleased to announce that SphinxConnector.NET 6.3 is now available via NuGet! You can also download a build from our site, but that only contains a version for .NET Framework 4.6.2. and higher.

This release adds support for using records either as document models or projection targets to the fluent API. So the document model from our introductory example can be reduced to:

public record Book(int Id, string Title, string Author, decimal Price, bool EbookAvailable, DateTime ReleaseDate, 
                   IList<long> Categories, int Weight);

Using records is probably even more useful when you are projecting into a new result e.g.:

public record SearchResult(int Id, string TitleSnippet, decimal Price);

var searchResults = await FulltextSession.Query<Book>().
                                          Match("*programming*").     
                                          Limit(0, 20).
                                          Select(x => new SearchResult(x.Id, x.Title.GetSnippet(), x.Price)).
                                          ToListAsync();

For users of Manticore Search we've added support for calling the Autocomplete function via the fluent API:

using var fulltextSession = fulltextStore.StartSession();

var results = await fulltextSession.AutocompleteAsync<Book>("Charles P");

//Options can be changed via AutocompleteOptions:
var options = new AutocompleteOptions { Append = true, Prepend = true };

var results = await fulltextSession.AutocompleteAsync<Book>("Charles P", options);

If you are using Sphinxsearch you can now use the TDIGEST function in your queries.

The full list of changes is available in the version history.

SphinxConnector.NET 6.2 has been released

By Dennis

We're pleased to announce that SphinxConnector.NET 6.2 is now available via NuGet! You can also download a build from our site, but that only contains a version for .NET Framework 4.6.2. and higher.

This release adds support for Manticore's scroll token feature to the fluent API:

//Retrieve the token via the Scroll() method:
var firstResult = await FulltextSession.Query<Book&>().
                                        OrderBy(x => x.ReleaseDate).
                                        ThenBy(x => x.Id).
                                        Limit(0, 20).
                                        Scroll(out ScrollToken token).
                                        ToListAsync();

 //Pass the token to the next query via Options() and also retrieve the new token:
 var secondResult = await FulltextSession.Query<Book>().
                                          Limit(0, 20).
                                          Scroll(out ScrollToken nextToken).
                                          Options(o => o.Scroll(token.Value)).
                                          ToListAsync();

It can of course also be used with future and prepared queries.

SphinxConnector.NET 6.1 has been released

By Dennis

We're pleased to announce that SphinxConnector.NET 6.1 is now available via NuGet! You can also download a build from our site, but that only contains a version for .NET Framework 4.6.2. and higher.

This release adds support for authenticated connections to Sphinx and Manticore Search. Please note that with Sphinx, only SHA1 hashed passwords (mysql_native_auth) are supported in this release.

We’ve also added the ability to configure the logger provider and set the license key during the FulltextStore initialization call:

var fulltextStore = new FulltextStore().Initialize(c => c.SetLicense("Your license key").
                                                          SetLoggerProvider(new ConsoleLoggerProvider()));

This should make for some nicer setup during container registration of the fluent API classes.

Additionally, you can now set the license key via an environment variable called SPHINXCONNECTOR_LICENSE_KEY for scenarios where you the retrieve the key from a vault of some kind, e.g. for containerized setups.

For a full list of changes, please refer to the version history.

SphinxConnector.NET 5.4 has been released

By Dennis

We're pleased to announce that SphinxConnector.NET 5.4 is now available via NuGet! You can also download a build from our site, but that only contains a version for .NET Framework 4.6.1. and higher.

This release adds .NET 8.0 as a new build target and provides basic support for tracing via OpenTelemetry. In the first iteration tracing connection lifetime and executed statements is supported.

For a full list of changes, please refer to the version history.

SphinxConnector.NET 5.2 has been released

By Dennis

We're pleased to announce that SphinxConnector.NET 5.2 is now available via NuGet! You can also download a build from our site, but that only contains a version for .NET Framework 4.6.1. and higher.

This release adds .NET 7.0 as a new build target. We've removed builds for .NET 5 since it has reached end of support in May. We’ve fixed a bug that was preventing the usage of IndexOf in conjunction with a dictionary that represents a JSON attribute e.g. an expression like this:

((List<string>)x.Properties["Categories"]).IndexOf("Fiction") > -1

For a full list of changes, please refer to the version history.