C#配合大数据开发,nest.dll的使用

编程入门 行业动态 更新时间:2024-10-14 16:22:34

C#配合大<a href=https://www.elefans.com/category/jswz/34/1771445.html style=数据开发,nest.dll的使用"/>

C#配合大数据开发,nest.dll的使用

一,添加Nest.dll引用

结果如下多了如下DLL:

Elasticsearch.Net.dll,Nest.dll

二,上代码:

using Common.EsModel;
using Elasticsearch.Net;
using Nest;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace Common.Es
{/// <summary>/// Nest(ES)开发:/// 1,需要大数据提供节点地址,和账号密码/// 2,需要大数据提供表名和字段名/// 3,需要大数据提供一个可以查询数据的地址(这个地址是大数据搭建的)(需要大数据那边提供账号密码登陆),可以测试查询返回值,和测试查询语句是否正确/// </summary>public class EasticSearchUtil{/// <summary>/// ES查询上限/// </summary>public const int limitcount = 10000;public static string ElasticSearchAccount = "demo";public static string ElasticSearchPassword = "123456";/// <summary>/// 配置链接:/// </summary>/// <param name="data">查询的表名</param>/// <returns></returns>private ElasticClient GetClient(string data){////一个节点var nodes = new Uri[]{///节点地址new Uri("http://192.168.0.1:1001"),new Uri("http://192.168.0.2:1001"),new Uri("http://192.168.0.3:1001"),};var pool = new StaticConnectionPool(nodes);var settings = new ConnectionSettings(pool).DefaultIndex(data).DefaultFieldNameInferrer((name) => name);settings.BasicAuthentication(ElasticSearchAccount, ElasticSearchPassword);return new ElasticClient(settings);}/// <summary>/// 查询 /// Term这个是查询映射实体不存在的字段(PS)/// </summary>/// <param name="province">省份名称</param>/// <param name="id">id</param>public IEnumerable<demo> search(string province, int id){var searchResults = GetClient("demo").Search<demo>((s => s.From(0).Size(limitcount).Query(q => q.Term("Id", id) && q.Term("province", province)).Sort(st => st.Descending(ds => ds.Num))));return searchResults.Documents;}/// <summary>/// 新增/// </summary>/// <returns></returns>public bool create(){var model = new demo{Id = 4,Num = 1,city = "123",};var searchResults = GetClient("demo").Create<demo>(model, null);return searchResults.IsValid;}/// <summary>/// 删除/// </summary>/// <returns></returns>public bool del(){var client = GetClient("demo");var model = new demo { Id = 2, Num = 111 };//删除文档var response2 = client.Delete<demo>(model.Id);return response2.IsValid;}/// <summary>/// 更新/// </summary>/// <returns></returns>public bool update(){var  model = new demo { Id = 2, Num = 111 };//根据demoID来修改文档,如果存储里存在一个CompanyID等于2的文档,他就会用新的替换旧的,否则就创建一个。var response = GetClient("demo").Index(model, i => i.Id(model.Id));return response.IsValid;}}
}

 

转载于:.html

更多推荐

C#配合大数据开发,nest.dll的使用

本文发布于:2024-03-23 21:23:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742979.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据   nest   dll

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!