ElasticSearchSetup.cs 646 B

12345678910111213141516171819202122
  1. using Elasticsearch.Net;
  2. using Nest;
  3. namespace Admin.NET.Core;
  4. /// <summary>
  5. /// ES服务注册
  6. /// </summary>
  7. public static class ElasticSearchSetup
  8. {
  9. public static void AddElasticSearch(this IServiceCollection services)
  10. {
  11. var elkOptions = App.GetOptions<ElasticSearchOptions>();
  12. var uris = elkOptions.ServerUris.Select(u => new Uri(u));
  13. var connectionPool = new SniffingConnectionPool(uris);
  14. var settings = new ConnectionSettings(connectionPool).DefaultIndex(elkOptions.DefaultIndex);
  15. var client = new ElasticClient(settings);
  16. services.AddSingleton(client); // 单例注册
  17. }
  18. }