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 = ;
public static string ElasticSearchAccount = "demo";
public static string ElasticSearchPassword = "";
/// <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().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 = ,
Num = ,
city = "",
}; 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 = , Num = };
//删除文档
var response2 = client.Delete<demo>(model.Id);
return response2.IsValid;
}
/// <summary>
/// 更新
/// </summary>
/// <returns></returns>
public bool update()
{
var model = new demo { Id = , Num = };
//根据demoID来修改文档,如果存储里存在一个CompanyID等于2的文档,他就会用新的替换旧的,否则就创建一个。
var response = GetClient("demo").Index(model, i => i.Id(model.Id));
return response.IsValid;
}
}
}
C#配合大数据开发,nest.dll的使用的更多相关文章
- 2019春招——Vivo大数据开发工程师面经
Vvio总共就一轮技术面+一轮HR面,技术面总体而言,比较宽泛,比较看中基础,面试的全程没有涉及简历上的东西(都准备好跟他扯项目了,感觉是抽取的题库...)具体内容如下: 1.熟悉Hadoop哪些组件 ...
- 杭州某知名xxxx公司急招大量java以及大数据开发工程师
因公司战略以及业务拓展,收大量java攻城狮以及大数据开发攻城狮. 职位信息: java攻城狮: https://job.cnblogs.com/offer/56032 大数据开发攻城狮: https ...
- 大数据开发实战:HDFS和MapReduce优缺点分析
一. HDFS和MapReduce优缺点 1.HDFS的优势 HDFS的英文全称是 Hadoop Distributed File System,即Hadoop分布式文件系统,它是Hadoop的核心子 ...
- 大数据开发实战:Stream SQL实时开发三
4.聚合操作 4.1.group by 操作 group by操作是实际业务场景(如实时报表.实时大屏等)中使用最为频繁的操作.通常实时聚合的主要源头数据流不会包含丰富的上下文信息,而是经常需要实时关 ...
- 大数据开发实战:Stream SQL实时开发二
1.介绍 本节主要利用Stream SQL进行实时开发实战,回顾Beam的API和Hadoop MapReduce的API,会发现Google将实际业务对数据的各种操作进行了抽象,多变的数据需求抽象为 ...
- 大数据开发实战:Stream SQL实时开发一
1.流计算SQL原理和架构 流计算SQL通常是一个类SQL的声明式语言,主要用于对流式数据(Streams)的持续性查询,目的是在常见流计算平台和框架(如Storm.Spark Streaming.F ...
- 大数据开发实战:Spark Streaming流计算开发
1.背景介绍 Storm以及离线数据平台的MapReduce和Hive构成了Hadoop生态对实时和离线数据处理的一套完整处理解决方案.除了此套解决方案之外,还有一种非常流行的而且完整的离线和 实时数 ...
- 大数据开发实战:Storm流计算开发
Storm是一个分布式.高容错.高可靠性的实时计算系统,它对于实时计算的意义相当于Hadoop对于批处理的意义.Hadoop提供了Map和Reduce原语.同样,Storm也对数据的实时处理提供了简单 ...
- 大数据开发实战:Hadoop数据仓库开发实战
1.Hadoop数据仓库架构设计 如上图. ODS(Operation Data Store)层:ODS层通常也被称为准备区(Staging area),它们是后续数据仓库层(即基于Kimball维度 ...
随机推荐
- codevs 1002 搭桥x
题目描述 Description 有一矩形区域的城市中建筑了若干建筑物,如果某两个单元格有一个点相联系,则它们属于同一座建筑物.现在想在这些建筑物之间搭建一些桥梁,其中桥梁只能沿着矩形的方格的边沿搭建 ...
- mac 绑定阿里企业邮箱
注意事项: 1. 收件服务器 千万得写对, 选 pop 就写 pop.mxhichina.com; 选 imap 就写 imap.mxhichina.com 2. 发件服务器 必须写,smtp.mxc ...
- Card Game Cheater
Card Game Cheater Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...
- 线下作业MySQL #20175201
1.下载附件中的world.sql.zip, 参考http://www.cnblogs.com/rocedu/p/6371315.html#SECDB,导入world.sql,提交导入成功截图 2.编 ...
- 使用SharpZIpLib写的压缩解压操作类
使用SharpZIpLib写的压缩解压操作类,已测试. public class ZipHelper { /// <summary> /// 压缩文件 /// </summary&g ...
- JavaScript json loop item in array
Iterating through/Parsing JSON Object via JavaScript 解答1 Your JSON object is incorrect because it ha ...
- C++ 左值与右值
https://baike.baidu.com/item/%E5%B7%A6%E5%80%BC%E4%B8%8E%E5%8F%B3%E5%80%BC/5537417?fr=aladdin https: ...
- C# 读写App.config 配置文件
先要添加引用:System.Configuration //using System.Configuration; if (System.IO.File.Exists(AppDomain.Curren ...
- centOS7 flask项目布署
先用1张图表示centOS布署flask的关键点,以及可能遇到的问题,及解决办法. 图片看不清,可以[下载]下来看,清晰度能够看清字 [目标] 局域网内,通过url可以访问flask编写的api 更新 ...
- java数字加密算法
数字加密在项目中时常会遇到,如手机号,身份证号信息等,下面小白将自己手写的数字加密算法分享给大家,可在项目中直接运用.加密规则,入参时传递一个字段时间戳 time:* 1.以字母代替数字,0-9分别为 ...