Elasticsearch.netNest 的使用
static void Main(string[] args) { Nest(); Console.WriteLine("End.."); Console.ReadKey(); //MyUser user = new MyUser(); //var indexResponse = lowlevelClient.Index<byte[]>("user", "guest", user.name, user); //byte[] responseBytes = indexResponse.Body; } private static void Elasticsearch_net() { var settings = new ConnectionConfiguration(new Uri(":9200")) .RequestTimeout(TimeSpan.FromMinutes(2)); ElasticLowLevelClient lowlevelClient = new ElasticLowLevelClient(settings); ElasticsearchResponse<string> rs = lowlevelClient.Search<string>("megacorp", "employee", new { query = new { match = new { first_name = "John" } } }); var json = rs.Body; Console.WriteLine(json); } private static void Nest() { IESSever eSSever = new ESSever(":9200/"); var list = eSSever.ElasticLinqClient.Search<employee>( p => p.Index("megacorp").Type("employee") .Query(op => op.Match(x=>x.Field(e=>e.first_name== "John")))); var rs = list.Documents.ToList(); foreach (var item in rs) { Console.WriteLine(item.first_name); } } } public class employee { public string first_name { get; set; } public string last_name { get; set; } public int age { get; set; } public string about { get; set; } public List<string> interests { get; set; } public IApiCallDetails ApiCall { get;set; } public bool TryGetServerErrorReason(out string reason) { reason = "MrbinError"; return true; } }
ESSever:
using Elasticsearch.Net; using Nest; using System; using System.Collections.Generic; using System.Text; namespace ElasticSearch { /// <summary> /// 访谒ElasticSearch处事类 /// </summary> public class ESSever : IESSever { /// <summary> /// Linq盘问的官方Client /// </summary> public IElasticClient ElasticLinqClient { get; set; } /// <summary> /// Js盘问的官方Client /// </summary> public IElasticLowLevelClient ElasticJsonClient { get; set; } public ESSever(string connetionStr) { var uris = new List<Uri>();//配置节点地点,以,分隔 uris.Add(new Uri(connetionStr)); var connectionPool = new StaticConnectionPool(uris);//配置请求池 var settings = new ConnectionSettings(connectionPool).RequestTimeout(TimeSpan.FromSeconds(30));//请求配置参数 this.ElasticJsonClient = new ElasticLowLevelClient(settings);//json请求客户端初始化 this.ElasticLinqClient = new ElasticClient(settings);//linq请求客户端初始化 } } }
IESSever:
using Elasticsearch.Net; using Nest; using System; using System.Collections.Generic; using System.Text; namespace ElasticSearch { /// <summary> /// 访谒ElasticSearch处事接口类 /// </summary> public interface IESSever { /// <summary> /// Linq盘问的官方Client /// </summary> IElasticClient ElasticLinqClient { get; set; } /// <summary> /// Js盘问的官方Client /// </summary> IElasticLowLevelClient ElasticJsonClient { get; set; } } }
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/31468.html