通过Nuget安装好Nest的相关Dll,之后我们就可以开始了,

1.初始化Nest客户端

string indexName = "customer";
Uri uri = new Uri("http://localhost:9200");
ConnectionSettings settings = new ConnectionSettings(uri);
settings.DisableDirectStreaming().DefaultIndex(indexName);
ElasticClient client = new ElasticClient(settings);

2.创建一个Customer索引

    dynamic response = client.GetIndex(indexName);
if(!response.IsValid)
{
response = client.CreateIndex("customer");
Console.WriteLine(response);
}

3.创建文档

   var company = new Company { CompanyID=2, Name="IBM" };
//创建文档并指定索引,和文档ID
response = client.Index(company, i => i.Index(indexName).Id(company.CompanyID));
//创建文档并指定索引,文档类型,未指定文档ID,ElasticSearch会帮你生成一个随机的ID
response = client.Index(company, i => i.Index(indexName));
//这里没有显示指定索引,所以使用的客户端初始化默认索引,如果没有默认索引,就会发生错误
response = client.Index(company);

4.修改文档1

根据CompanyID来修改文档,如果存储里存在一个CompanyID等于2的文档,他就会用新的替换旧的,否则就创建一个。

所以叫创建式修改比较合适

 company = new Company { CompanyID = 2, Name = "联想" };
//修改文档
response = client.Index(company, i => i.Id(company.CompanyID));

5.修改指定版本号的文档(对乐观锁的实现)

  company = new Company { CompanyID = 2, Name = "联想" };
//修改指定版本的文档
response = client.Index(company, i => i.Id(company.CompanyID).Version(1));

6.删除文档

//根据特定的条件来删除文档
response = client.Delete<Company>(company.CompanyID, d => d.Index(indexName));
//删除文档
response = client.Delete<Company>(company.CompanyID);

7.删除索引

    //根据名称删除索引
response=client.DeleteIndex(indexName);

8.批量创建文档

这里是指定了相应的索引,如果没有显示指定索引,都是用的默认索引,

//批量创建文档
BulkDescriptor descriptor = new BulkDescriptor();
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 1, Name = "IBM" }).Index("a"));
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 2, Name = "IBM" }).Index("b"));
descriptor.Index<Company>(op => op.Document(new Company { CompanyID = 3, Name = "IBM" }).Index("c")); response = client.Bulk(descriptor);

Nest客户端的基本使用方法的更多相关文章

  1. 用javascript得到客户端IP的新方法

    javascript得到客户端IP的新方法 很久以来,我都是经过http://fw.qq.com/ipaddress来得到客户端用户的IP,这个方法简单.快速.实用 . 我们调用它的写法是: < ...

  2. 获取客户端用户真实ip方法整理(jekyll迁移)

    layout: post title: 获取客户端用户真实ip方法整理 date: 2019-08-22 author: xiepl1997 tags: springboot 由请求获取客户端ip地址 ...

  3. ASP.NET 截获服务器生成的将要发送到客户端的html的方法

    有时候我们需要在将服务器端生成的html发送带客户端之前对这些html进行操作,比如生成静态html加之保存.改变生成的html中的某些内容等等,那么久可以通过如下的方案解决. 我总结了两种方式,个人 ...

  4. Hadoop中客户端和服务器端的方法调用过程

    1.Java动态代理实例 Java 动态代理一个简单的demo:(用以对比Hadoop中的动态代理) Hello接口: public interface Hello { void sayHello(S ...

  5. Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法

    今天第一次陪Nginx负载均衡,发现PHP无法获取HTTP_HOST 贴上的Nginx配置 upstream abc.com { server 10.141.8.55:8005; server 10. ...

  6. JFinal向客户端渲染图片的方法

    JFinal提供了好几种方便的render但是不知道为啥就是没有提供直接渲染图片的render,如果我们直接在Controller的方法中往输入流中写的话是还是会有默认的render生效的,比如下面这 ...

  7. http协议中客户端8种请求方法

    http请求中的8种请求方法 1.opions   返回服务器针对特定资源所支持的HTML请求方法   或web服务器发送*测试服务器功能(允许客户端查看服务器性能) 2.Get   向特定资源发出请 ...

  8. HTTP客户端之使用request方法向其他网站请求数据

    在node中,可以很轻松的向任何网站发送请求并读取该网站的响应数据. var req=http.request(options,callback); options是一个字符串或者是对象.如果是字符串 ...

  9. web服务器获取请求客户端真实地址的方法

    服务器获取客户端或者网页的请求,获取IP时需要注意,因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向 ...

随机推荐

  1. WEB中调用Nutch执行JOB抓取

    参考:在Eclipse中运行Nutch 把nutch的源代码导入到eclipse工程自定义抓取任务. 下载源码: http://svn.apache.org/repos/asf/nutch/ 从svn ...

  2. JSP中三种弹出对话框的用法《转》

    对话框有三种 1:只是提醒,不能对脚本产生任何改变: 2:一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断 3: 一个带输入的对话框,可以返回用户填入的 ...

  3. linux 下rabbitmq 安装

    准备工作: erlang环境  otp_src_19.0.tar.gz rabbitmq   abbitmq-server-generic-unix-3.6.5.tar.xz # yum -y ins ...

  4. 规范 : jobbox 中英文

    中英文是为了candidate 可以看到不同的post job 语言. e.g. 如果是contact person 的“designation” ,这个不会显示在post job 里,目的只是给em ...

  5. 用smarty模板做数据实现修改、分页等功能

    先来看怎么把数据库的列表全都显示出来 还是要先建一个php文件,还有html文件,都存到相应的目录下 php文件中 <?php include("../init.inc.php&quo ...

  6. redux-form的学习笔记

    redux是一种常用的与react框架搭配的一种数据流架构,而伴随着redux的出现,也出现了许多基于redux开源的第三方库,而redux-form就是其中之一的开源组件库,到今天我写下这篇笔记为止 ...

  7. JavaScript前端最全API集锦

    一.节点1.1 节点属性Node.nodeName   //返回节点名称,只读Node.nodeType   //返回节点类型的常数值,只读Node.nodeValue  //返回Text或Comme ...

  8. node.js爬虫爬取拉勾网职位信息

    简介 用node.js写了一个简单的小爬虫,用来爬取拉勾网上的招聘信息,共爬取了北京.上海.广州.深圳.杭州.西安.成都7个城市的数据,分别以前端.PHP.java.c++.python.Androi ...

  9. java利用url实现网页内容的抓取

    闲来无事,刚学会把git部署到远程服务器,没事做,所以简单做了一个抓取网页信息的小工具,里面的一些数值如果设成参数的话可能扩展性能会更好!希望这是一个好的开始把,也让我对字符串的读取掌握的更加熟练了, ...

  10. Spring 容器可以在自动装配相互协作的 bean 之间的关系,使用autowire属性定义指定自动装配模式。

    使用setter方法java public class TextEditor { private SpellChecker spellChecker; public void setSpellChec ...