一、客户端封装

using Elasticsearch.Net;
using Nest;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace esdemo
{
    public class ElasticsearchUtils
    {
        private static ElasticsearchUtils _elasticsearchUtils;
        /// <summary>
        /// Linq查询的官方Client
        /// </summary>
        private static IElasticClient _elasticLinqClient { get; set; }
        /// <summary>
        /// Js查询的官方Client
        /// </summary>
        private static IElasticLowLevelClient _elasticJsonClient { get; set; }

        private ElasticsearchUtils()
        {

        }
        private static readonly object eslock = new object();
        public static ElasticsearchUtils GetInstance()
        {
            if (_elasticsearchUtils == null)
            {
                lock (eslock)
                {
                    if (_elasticsearchUtils == null)
                    {
                        var urls = "http://192.168.0.150:9200";
                        var username = "elastic";
                        var passowrd = "123456";
                        var uris = urls.Split(",").ToList().ConvertAll(x => new Uri(x));//配置节点地址,以,分开
                        var connectionPool = new StaticConnectionPool(uris);//配置请求池
                        var settings = new ConnectionSettings(connectionPool)
                            .BasicAuthentication(username, passowrd)
                            .RequestTimeout(TimeSpan.FromSeconds(30));//请求配置参数
                        _elasticLinqClient = new ElasticClient(settings);
                        _elasticJsonClient = new ElasticLowLevelClient(settings);
                        _elasticsearchUtils = new ElasticsearchUtils();
                    }
                }
            }
            return _elasticsearchUtils;
        }

        public IElasticClient LinqClient()
        {
            return _elasticLinqClient;
        }


        public IElasticLowLevelClient JsonClient()
        {
            return _elasticJsonClient;
        }


    }
}
ElasticsearchUtils

相关文章:

  • 2021-04-26
  • 2021-12-07
  • 2021-04-01
  • 2022-12-23
  • 2021-08-18
  • 2021-12-16
  • 2021-09-23
猜你喜欢
  • 2021-09-17
  • 2022-12-23
  • 2021-12-19
  • 2021-09-12
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案