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维度 ...
随机推荐
- create-react-app+react-app-rewired引入antd实践
注:模块化按此方发npm install antd --save npm install babel-plugin-import --save-dev npm install react-app-re ...
- 模板_BIT
#include<bits/stdc++.h> #define maxn 500005 //#define int long long using namespace std; inlin ...
- es之对文档进行更新操作
5.7.1:更新整个文档 ES中并不存在所谓的更新操作,而是用新文档替换旧文档: 在内部,Elasticsearch已经标记旧文档为删除并添加了一个完整的新文档并建立索引.旧版本文档不会立即消失 ,但 ...
- Java文件中代码
public class MyTextView extends TextView { //在用代码创建的时候调用 public MyTextView(Context context) { this(c ...
- tp3.2 页面Windows正常 linux异常,页面找不到
这个问题主要是tp3.2 在读取控制器里的方法时,会把方法自动转为小写, 然后去对应view成找html文件,自然找不到. class textController extends ComContro ...
- 总结 webpack 的插件
模块化第一步 初始化 package.json 文件 node.js 指令 npm init npm的官网:https://www.npmjs.com/ 搜索插件名,查看插件的用法 1. webpa ...
- WINDOWS API 大全(二)
9. API之设备场景函数 CombineRgn 将两个区域组合为一个新区域CombineTransform 驱动世界转换.它相当于依顺序进行两次转换CreateCompatibleDC 创建一个与特 ...
- XML文件解析!!!
在java jdk中解析XMl文件使用 org.w3c.dom.Document工具 一下是写入全程: import java.io.File; import java.io.IOExceptio ...
- Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库
Delphi XE2 之 FireMonkey 入门(31) - 数据绑定: 绑定数据库 一.全设计时操作: 先在窗体上放置控件: DataSource1 : TDataSource; Clie ...
- 阶段3 1.Mybatis_03.自定义Mybatis框架_7.自定义Mybatis的编码-实现基于注解配置的查询所有
注解的方式,这里进行修改.上面注释的是原来xml的方式. 在dao类里面加上注解 创建注解类 声明注解的生命周期为Runntime 改变注解出现的位置,在Mehtod方法上 写完之后这里就不报错了. ...