public ElasticAuditorProvider(ElasticSetting elasticSetting) { _elasticSetting = elasticSetting; _node = new Uri(_elasticSetting.ConnectionString); _settings = new ConnectionSettings(_node); _client = new ElasticClient(_settings); if (!string.IsNullOrEmpty(_elasticSetting.Username) && !string.IsNullOrEmpty(_elasticSetting.Password)) { _settings.BasicAuthentication(_elasticSetting.Username, _elasticSetting.Password); _settings.ServerCertificateValidationCallback( (o, certificate, arg3, arg4) => true); } var indexSettings = new IndexSettings { NumberOfReplicas = 1, NumberOfShards = 5 }; var indexConfig = new IndexState { Settings = indexSettings }; ReformatIndex(); _indexName = string.Format(_elasticSetting.IndexFormat, DateTime.Now.Date.ToString("yyyy.MM.dd")); if (!_client.IndexExists(_indexName).Exists) { _client.CreateIndex(_indexName, c => c .InitializeUsing(indexConfig) .Mappings(m => m.Map <Audit>(mp => mp.AutoMap(typeof(Audit)).AutoMap <Audit>()))); } }
public static IServiceCollection AddElasticProvider(this IServiceCollection services, ElasticSetting elasticSetting) { try { if (elasticSetting != null) { services.AddTransient <IAuditorProvider>(s => new ElasticAuditorProvider(elasticSetting)); } return(services); } catch (Exception ex) { Console.WriteLine(ex); throw; } }
public DotNetSearch(ElasticSetting settting) { _builder = new SearchEngineBuilder(settting); }
public void ConfigureServices(IServiceCollection services) { try { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2); #region Logger services.AddSingleton <ICustomLogger, SeriLogger>(); #endregion #region Interceptors #region Auditor var elasticSearchUrl = Configuration["ElasticSearch:Url"]; var elasticSearchUsername = Configuration["ElasticSearch:UserName"]; var elasticSearchPassword = Configuration["ElasticSearch:Password"]; var elasticSearchIndexName = Configuration["ElasticSearch:IndexFormat"]; var elasticSetting = new ElasticSetting { ConnectionString = elasticSearchUrl, Username = elasticSearchUsername, Password = elasticSearchPassword, IndexFormat = elasticSearchIndexName }; services.ConfigureSimpleProxyAuditorInterceptor().AddElasticProvider(elasticSetting); #endregion #region Caching services.ConfigureSimpleProxyCacheManagerInterceptor().AddCacheManager(); #endregion #region SimpleProxy services.AddTransientWithProxy <ICachingTest, CachingTest>(); #endregion #endregion #region DapperRepository var connectionString = Configuration.GetConnectionString("DefaultConnection"); services.AddSingleton <IDapperConnectionFactory>(s => new SampleDapperConnectionFactory(connectionString)); services.AddTransient(typeof(IGenericRepository <>), typeof(DapperGenericRepository <>)); services.AddTransient <ITestRepository, TestRepository>(); #endregion #region Services services.AddTransient(typeof(IGenericService <>), typeof(GenericService <,>)); services.AddTransient <ITestService, TestService>(); #endregion } catch (Exception ex) { Console.WriteLine(ex); throw; } }
public TestController(IOptions <ElasticSetting> elasticSetting, IESClientProvider eSClientProvider) { _elasticSetting = elasticSetting.Value; _ESClientProvider = eSClientProvider; }
public SearchEngineBuilder(ElasticSetting setting) { _setting = setting; }