Skip to content

Instantly share code, notes, and snippets.

@hgmauri
Created April 4, 2024 11:20
Show Gist options
  • Save hgmauri/1ec72a2bb28bf2cb308d5c7fa0b894c3 to your computer and use it in GitHub Desktop.
Save hgmauri/1ec72a2bb28bf2cb308d5c7fa0b894c3 to your computer and use it in GitHub Desktop.
public static class ElasticsearchExtensions
{
public static void AddElasticsearch(this IServiceCollection services, IConfiguration configuration)
{
var settings = new ConnectionSettings(new Uri(configuration["ElasticsearchSettings:uri"]));
var defaultIndex = configuration["ElasticsearchSettings:defaultIndex"];
if (!string.IsNullOrEmpty(defaultIndex))
settings = settings.DefaultIndex(defaultIndex);
var basicAuthUser = configuration["ElasticsearchSettings:username"];
var basicAuthPassword = configuration["ElasticsearchSettings:password"];
if (!string.IsNullOrEmpty(basicAuthUser) && !string.IsNullOrEmpty(basicAuthPassword))
settings = settings.BasicAuthentication(basicAuthUser, basicAuthPassword);
settings.EnableApiVersioningHeader();
settings.EnableHttpCompression();
var client = new ElasticClient(settings);
services.AddSingleton<IElasticClient>(client);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment