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维度 ...
随机推荐
- Mybatis学习笔记之---多表查询(2)
Mybatis多表查询(2) (一)举例 用户和角色 一个用户可以有多个角色,一个角色可以赋予多个用户 (二)步骤 1.建立两张表:用户表,角色表,让用户表和角色表具有多对多的关系.需要使用中间表,中 ...
- CodeChef---- February Challenge 2018----Chef and odd queries(复杂度分块计算)
链接 https://www.codechef.com/FEB18/problems/CHANOQ/ Chef and odd queries Problem Code: CHANOQ Chef ...
- 前台ajax传数组,后台java接收
后端 //添加 @RequestMapping(value = "checkChoise") @ResponseBody ResultJson checkChoise(@Reque ...
- jieba (中文词频统计) 、collections (字频统计)、WordCloud (词云)
py库: jieba (中文词频统计) .collections (字频统计).WordCloud (词云) 先来个最简单的: # 查找列表中出现次数最多的值 ls = [1, 2, 3, 4, 5, ...
- python调用c++/c 共享库,开发板上编译的一些坑!
1.对于python,ctypes只能load动态库,但现在我的对象是一个静态库,而且我没有源代码,静态库在编译过程中没有加--fPIC参数,所以我也没办法将其编译为动态库,有没有什么方法在pytho ...
- mappers:将sql映射注册到全局配置中
<!-- 将我们写好的sql映射文件(EmployeeMapper.xml)一定要注册到全局配置文件(mybatis-config.xml)中 --> <!-- 6.mappers: ...
- java利用zip解压slpk文件
public static void main(String[] args) { File file = new File("C:\\Users\\Administrator\\Deskto ...
- selenium报错汇总
selenium报错汇总 报错:[error] Could not connect to Selenium Server. Have you started the Selenium Server y ...
- 歌手详情数据处理和Song类的封装
我们现在每首歌曲的数据都是这样的 我们需要在这个数据里面去提取我们需要的部分,来构造成我们需要的数据对象 那我们要和创建singer.js一样 同样也要创建song.js类 我们还要获取到每首歌对应 ...
- Webpack的tapable 为什么要使用 new Funtion 来生成静态代码
为了保持代码的单态(monomorphism). 这涉及到了js引擎优化的一些问题, tapable从1.0.0版本开始就用new Function来生成静态代码最后来来执行, 以确保得到最优执行效率 ...